Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何让程序等待用户在另一个表单上输入数据_C# - Fatal编程技术网

C# 如何让程序等待用户在另一个表单上输入数据

C# 如何让程序等待用户在另一个表单上输入数据,c#,C#,以下是表格一的摘录: private void btnAdd_Click(object sender, EventArgs e) { List<string> SelectedMem = new List<string>(); frmSelectMembers SelectMembers = new frmSelectMembers(SelectedMem); SelectMembers.Show(); for (int member =

以下是表格一的摘录:

private void btnAdd_Click(object sender, EventArgs e)
{
    List<string> SelectedMem = new List<string>();
    frmSelectMembers SelectMembers = new frmSelectMembers(SelectedMem);
    SelectMembers.Show();
    for (int member = 0; member < SelectedMem.Count; member++)
    {

    }
}
private void btnAdd\u单击(对象发送者,事件参数e)
{
List SelectedMem=新列表();
frmSelectMembers SelectMembers=新frmSelectMembers(SelectedMem);
选择members.Show();
for(int member=0;member
当前,只要打开“SelectMembers”(用户输入数据的表单),程序就会继续执行for循环

让程序等待用户将项目输入列表的最佳方式是什么


我可以检查一下列表是否为空吗?

您必须打开
SelectMembers
,并为某个值设置
对话框result
属性。然后,一旦设置了DialogResult,您就可以管理您想要做的任何事情。例如:

    private void btnAdd_Click(object sender, EventArgs e)
{
    List<string> SelectedMem = new List<string>();
    frmSelectMembers SelectMembers = new frmSelectMembers(SelectedMem);

    if(SelectMembers.ShowDialog() == DialogResult.OK) // this waits until a DialogResult is found
    {
          //DO WHATEVER YOU NEED IN HERE
          string text = SelectMembers.TextBox1.Text;
    }
    SelectMembers.Dispose();
}
private void btnAdd\u单击(对象发送者,事件参数e)
{
List SelectedMem=新列表();
frmSelectMembers SelectMembers=新frmSelectMembers(SelectedMem);
if(SelectMembers.ShowDialog()==DialogResult.OK)//这将等待找到DialogResult
{
//在这里你需要什么就做什么
string text=SelectMembers.TextBox1.text;
}
SelectMembers.Dispose();
}

此外,如果要获取某个文本框的值,必须将文本框的
修饰符
属性设置为public。然后您可以像上面的例子那样访问。

您必须打开
选择成员
,并为某个值设置
对话框结果
属性。然后,一旦设置了DialogResult,您就可以管理您想要做的任何事情。例如:

    private void btnAdd_Click(object sender, EventArgs e)
{
    List<string> SelectedMem = new List<string>();
    frmSelectMembers SelectMembers = new frmSelectMembers(SelectedMem);

    if(SelectMembers.ShowDialog() == DialogResult.OK) // this waits until a DialogResult is found
    {
          //DO WHATEVER YOU NEED IN HERE
          string text = SelectMembers.TextBox1.Text;
    }
    SelectMembers.Dispose();
}
private void btnAdd\u单击(对象发送者,事件参数e)
{
List SelectedMem=新列表();
frmSelectMembers SelectMembers=新frmSelectMembers(SelectedMem);
if(SelectMembers.ShowDialog()==DialogResult.OK)//这将等待找到DialogResult
{
//在这里你需要什么就做什么
string text=SelectMembers.TextBox1.text;
}
SelectMembers.Dispose();
}


此外,如果要获取某个文本框的值,必须将文本框的
修饰符
属性设置为public。然后,您可以像上面的示例那样访问。

如果您想在另一个窗体上发生某些操作后执行插入,请将插入中执行的代码放入该操作的处理程序中。假设用户在另一个表单上单击了某个按钮?SelectMembers表单除了从用户那里获取信息之外还有其他功能吗?如果您所要问的只是如何等待数据完成,那么您最好在问题中省略与数据库相关的内容submitted@SamIam用户将看到一个列表视图框,然后他们可以使用复选框选择某些行。当用户单击按钮时,这些将被添加到SelectedMem列表中。@DanielGrist当用户单击按钮时表单是否消失?如果要在另一个表单上执行某些操作后执行插入,请将插入中执行的代码放入该操作的处理程序中。假设用户在另一个表单上单击了某个按钮?SelectMembers表单除了从用户那里获取信息之外还有其他功能吗?如果您所要问的只是如何等待数据完成,那么您最好在问题中省略与数据库相关的内容submitted@SamIam用户将看到一个列表视图框,然后他们可以使用复选框选择某些行。当用户单击按钮时,这些将被添加到SelectedMem列表中。@DanielGrist当用户单击按钮时,表单是否消失?您需要在显示为
.ShowDialog()
的表单上调用
.Dispose()
,正如@NicoRiff的备注中所述,如何在第二个表单中设置DialogResult.OK?在SelectMembers表单上选择将触发DialogResult的控件。例如,“确定”或“取消”按钮,在属性窗口中可以找到DialogResult属性。无论何时按下该按钮,它都会触发DialogResult。我知道,当按下该按钮时,该按钮也会运行代码。如果我将DialogResult属性设置到这个按钮上,那么代码将不会运行,是吗?如果通过属性窗口设置属性,代码将不会执行。如果你想在点击按钮时执行一些代码,那么你可以在完成点击按钮所需的所有操作后,通过编程方式设置DialogResult,然后按如下方式设置DialogResult:this.DialogResult=DialogResult.OK;您需要在显示为
.ShowDialog()
的窗体上调用
.Dispose()
,如处的备注所述。@NicoRiff如何在第二个窗体中设置DialogResult.OK?在SelectMembers窗体上选择将触发DialogResult的控件。例如,“确定”或“取消”按钮,在属性窗口中可以找到DialogResult属性。无论何时按下该按钮,它都会触发DialogResult。我知道,当按下该按钮时,该按钮也会运行代码。如果我将DialogResult属性设置到这个按钮上,那么代码将不会运行,是吗?如果通过属性窗口设置属性,代码将不会执行。如果你想在点击按钮时执行一些代码,那么你可以在完成点击按钮所需的所有操作后,通过编程方式设置DialogResult,然后按如下方式设置DialogResult:this.DialogResult=DialogResult.OK;