C#自定义对话框的两种方法
1、对自定义窗口使用showdiaglog函数
首先自定义一个窗口如form2;在主程序中如下引用:
private async void button1_Click(object sender, EventArgs e)
{
Form2 example = new Form2();
example.ShowDialog();
}
2、使用静态函数直接引用
对话框关键代码如下
namespace WindowDiag
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
bool result = true;
int result1 = 0;
public static async Task<int> RunDiag()
{
Form2 instance = new Form2();
instance.Show();
while(instance.result)
{
await Task.Delay(100);
}
return instance.result1;
}
private void bTnYes_Click(object sender, EventArgs e)
{
result1 = 1;
result = false;
this.Close();
}
private void bTnNo_Click(object sender, EventArgs e)
{
result1 = 2;
result = false;
this.Close();
}
}
}
利用静态函数创建并运行一个独立的窗口并返回结果
在主函数中做如下引用
private async void button1_Click(object sender, EventArgs e)
{
textBox1.Text=(await Form2.RunDiag()).ToString();
}
其优点为可以自定义返回值,并能够自由更改对话框样式