我创建了一个FontDialog.cs Windows窗体,我的用户可以在其中为文本选择颜色。我需要捕获用户在对话框中选择的内容:
以下是我如何调用对话框:
DialogsTestingGrounds.FontDialog dialog = new FontDialog();
dialog.ShowDialog();
如何捕获选定的值,我想我必须在FontDialog.cs表单末端为我想要传输的所有内容创建属性,对吧?
答案 0 :(得分:3)
您想要做的是在FontDialog上公开使值可用的属性。然后,您可以使用dialog.PropertyName通过属性的名称引用它。
答案 1 :(得分:2)
没有必要,你可以使用,即dialog.Font来获取所选的字体, dialog.Color的颜色等等......
答案 2 :(得分:1)
Mitchel的回答可行,但您可能希望在同一行中加入其他几个项目。
因此,对话框类的内部可能看起来像这个伪代码。
public Font SelectedFont { get; set; }
public FontDialog()
{
//set your defaults here
}
public FontDialog (Font font)
{
SelectedFont = font;
//dont forget to set the passed in font to your ui values here
}
private void acceptButton_Click(object sender, EventArgs e)
{
SelectedFont = //How ever you create your font object;
}
然后调用你的函数(假设上面的acceptButton是表单AcceptButton)
DialogsTestingGrounds.FontDialog dialog = new FontDialog();
if(dialog.ShowDialog() == DialogResult.OK)
//Do Something