winform应用程序
是一种智能客户端技术,我们可以使用winform应用程序帮助我们获得信息或者传输信息等。
Name:
在后台要获得前台的控件对象,需要使用Name属性。
Visible:
指示一个控件是否可见、
Enable:
指示一个控件是否可用
WordWarp:
控制文本框是否自动换行
如图,添加一个窗体Form1
,并给窗体添加按钮和标签元素。
需求
点击按钮弹出窗体2
,弹出另外一个窗体Form2
实现
首先,新建一个窗体,并将窗体名称改为我是窗体2
,如下图:
我们可以通过Text
属性修改窗体的名称,修改Icon
属性设置窗体的图标
要想通过窗体1中的按钮,弹出窗体2,必须给按钮绑定一个点击事件button2_Click
:
首先实例化一个窗体frm2
,然后调用窗体的ShowDialog()
方法弹出窗体2
private void button2_Click(object sender, EventArgs e)
{
//在内存中创建窗体2
Form2 frm2 = new Form2();
frm2.ShowDialog();
}
实现效果
我们在窗体2
中再次添加一个按钮弹出窗体3
,并给按钮添加点击事件,使之弹出窗体3
:
通过以下代码给按钮弹出窗体3
添加点击事件:
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.Show();
}
只有关闭主窗体,才能关闭所有窗口,在main函数当中创建的窗体对象,我们称之为这个窗体应用程序的主窗体,也就意味着当你将主窗体关闭后,整个应用程序也就关闭了。在本例中,Form1就是主窗口。
所以,我们只需要关闭窗体1,就会关闭所有窗体。我们可以在加载窗体1
的时候,将窗体对象放到类中的静态字段中。首先创建一个Text.cs
类:
public static class Test
{
public static Form1 _fr1Test;
}
接着在加载窗体1的时候,将窗体对象放到静态字段_fr1Test
中。代码添加到Form1.cs
中:
/// <summary>
/// 但加载窗体的时候 将窗体对象放到Test类中的静态字段中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
Test._fr1Test = this;
}
最后,我们就可以正常进行事件处理了。在窗体3
中添加按钮:关闭所有窗体
,并给按钮添加点击事件,在Form3.cs
中添加以下代码:
/// <summary>
/// 关闭主窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//需要拿到当前主窗体的对象
//Form1 frm1 = new Form1();
//frm1.Close();
//this.Close();
Test._fr1Test.Close();
}