0

我有 ac# windows 窗体,如果填充的 arraylist 包含多个项目,我需要在其中显示一个弹出框,以便用户可以从该 arraylist 中选择一个项目。如果可能的话,我想避免为此创建一个单独的窗口窗体。是否可以创建一个保留在此表单上并且看起来类似于 messageBox 的输入框。主要问题是我需要停止此表单上的代码继续运行,直到用户从所谓的输入框中选择一个项目或取消或关闭输入框。然后,代码将使用用户在输入框中选择的数组列表中的值恢复,或者如果用户决定不从输入框中选择项目,它将跳出此代码序列并且不执行任何操作。我以前从来没有做过这样的事情,并且希望能提出最有效的方法来实现这一点。谢谢

4

1 回答 1

1

当我过去这样做时,我只是创建一个带有 ListView 的小表单来填充数组项。添加“确定”和“取消”按钮。使用 OK 单击处理程序,将 Dialog Result 设置为 OK:

this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();

对取消按钮执行相同操作:

this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.Close();

从您要显示表单调用的主代码中,ShowDialog();这将强制用户在继续之前完成与对话框的交互。这也会返回您之前设置的 DialogResult。

希望这可以帮助。

于 2012-12-05T15:16:01.110 回答