C#消息框和Visual Basic输入框焦点

C#消息框和Visual Basic输入框焦点,c#,vba,focus,C#,Vba,Focus,我有一个C#程序,需要从用户那里获取输入(通过输入框)。处理信息并以消息框的形式给出结果。然后重复该过程,直到用户单击InputBox上的“取消”按钮 为了实现这一点,我为输入框添加了对VisualBasic的引用。对于结果,我使用了C#MessageBox.show() 现在我的问题是关注输入框/消息框。起初,InputBox有焦点,第一个MessageBox结果没有焦点(运行此程序的外部程序有焦点),其余MessageBox有焦点,直到我单击“取消”。我已经对消息框实现了MessageBox

我有一个C#程序,需要从用户那里获取输入(通过输入框)。处理信息并以消息框的形式给出结果。然后重复该过程,直到用户单击InputBox上的“取消”按钮

为了实现这一点,我为输入框添加了对VisualBasic的引用。对于结果,我使用了C#MessageBox.show()

现在我的问题是关注输入框/消息框。起初,InputBox有焦点,第一个MessageBox结果没有焦点(运行此程序的外部程序有焦点),其余MessageBox有焦点,直到我单击“取消”。我已经对消息框实现了MessageBoxOptions.DefaultDesktopOnly选项,现在我的问题是第二个输入框(以及之后的所有其他输入框)失去焦点

有人能为这个焦点问题提供解决方案吗?(或是做这件事的正确方法)


谢谢你。

这让我非常激动,但这应该是大概的

不要使用VB6,创建一个名为frmInput的新表单。在属性窗格中将其边框类型设置为“大小”工具提示

添加一个包含两列和两行的布局表,在左列中放置标签,在右列中放置文本框。设置文本框左、上和右锚定,使其填充宽度

在第二行中,合并列并添加两个按钮,一个称为btnOK,另一个称为btnCancel。现在设置接受/取消的表单属性。将Accept设置为btnOK,将Cancel设置为btnCancel

在代码隐藏中添加一个名为Label of type string的属性和另一个名为Value of type string的属性

将构造函数设置为接受两个参数:消息和值

现在为txtValue的TextChanged事件添加一个事件处理程序。让它用txtValue.txt更新值

现在为btnOK和btnCancel添加事件处理程序

在btnCancel_中,单击设置此对话框。DialogResult=DialogResult。取消;这个。关闭(); 在btnOK_中,单击设置此项。DialogResult=DialogResult.OK;这个。关闭()

现在使用它,就像

frmInput inputBox = new frmInput("Please enter your First Name:", string.Empty);
DialogResult result = inputBox.ShowDialog();
if (result == DialogResult.OK){
  //cool you entered something and clicked ok
  string firstName = inputBox.Value;
} else {
  //you canceled :(
}

您需要显示有关当前正在执行的操作的代码以显示MessageBox。。。我不知道vb的输入框是什么,但我几乎可以保证C有自己的版本。看在上帝的份上,不要将VB6与C结合使用。学习正确的编程。创建一个表单,添加一个文本框并获取该值。很抱歉,我失去了焦点。这是完全不清楚的,即使读了5遍,我仍然不知道到底发生了什么