我正在编写一个控制台应用程序,实际上有时候必须使用GUI元素。
特别是,需要通过GUI执行从字符串列表中选择一个字符串。它必须是这样的:
public static string SelectString(List<string> strings)
{
string selectedString;
// GUI part
return selectedString;
}
是否可以像使用FolderBrowserDialog
一样使用它?例如,我使用以下代码选择文件夹:
public static string SelectFolder(string description)
{
using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
{
folderBrowserDialog.Description = description;
return folderBrowserDialog.ShowDialog() == DialogResult.OK
? folderBrowserDialog.SelectedPath
: null;
}
}
我知道ListBox
,但需要创建表单。
有什么想法吗?
答案 0 :(得分:1)
您可以直接在代码中创建表单。这是一个非常简单的例子。您可能想要添加OK
按钮。
Form frm = new Form();
ListBox listbox1 = new ListBox();
frm.Controls.Add(listbox1);
listbox1.Dock = DockStyle.Fill;
frm.ShowDialog();
int selectedIndex = listbox1.SelectedIndex;
为避免硬编码,您可以在控制台应用中添加Form
,然后只需调出表单:
Form1 frm = new Form1();
frm.ShowDialog();
在这种情况下,您可能需要将Modifier
的{{1}}属性设置为ListBox
,以便在对话框关闭后可以访问它。