MessageBox不关注MessageBoxButton有没有办法在C#中显示一个MessageBox而不关注消息框的按钮?例如,以下代码片段(无效):MessageBox.Show("我不应该让按钮处于焦点","Test",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button3);我想要的是显示MessageBox而不是关注[yes]或[no]。背景是客户在和处扫描了几个带回车的条码。因此,当弹出消息框并且他们在没有注意到消息框的情况下扫描更多条形码时,他们会“按下”按钮。标准的MessageBox是不可能的——如果你想要这个功能,你需要自己实现。请参阅此处以帮助您入门。那么你可以用一些技巧来做到这一点。[DllImport("user32.dll")]staticexternIntPtrSetFocus(IntPtrhWnd);privatevoidbutton1_Click(objectsender,EventArgse){//向消息队列发送消息。//到达时移除任何聚焦窗口的焦点。//在我们的例子中它将是默认按钮。this.BeginInvoke(newMethodInvoker(()=>{SetFocus(IntPtr.Zero);//移除焦点}));MessageBox.Show("我不应该有一个焦点按钮","Test",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button3);请注意,上面的代码假定在调用BeginInvoke时将显示MessageBox并且它将聚焦按钮。据我所知,通常是这种情况。如果你想确保消息框已经显示,你可以使用这段代码找到它,然后你可以移除焦点。PS:暂时没有测试,因为没有IDE,但我想可以调整一下,轻松工作以上是C#学习教程:MessageBoxMessageBox分享的内容,没有按照MessageBoxButton的全部分享,如果对大家有用需要想了解更多C#学习教程,希望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
