c#第05章Windows窗体界面设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如,假如textBox1的CausesValidation属性均为True
private void textBox1_Validating(object sender, CancelEventArgs e)
{
if (textBox1.Text.Length == 0)
{ MessageBox.Show("必须在textBox1中输入内容");
Validating事件和Validated事件
6
• Validating事件:当控件的CausesValidation属性为true,且该控件失去焦 点时,触发该事件。注意被验证有效性的控件是失去焦点的控件,而不是 获得焦点的控件。
• Validated事件:当控件的CausesValidation属性为True,且该控件失去焦 点时,触发该事件。该事件在Validating事件之后发生,表示有效性验证 已经完成。
}
if (e.Control == true)
{ switch (e.KeyCode)
{
case Keys.A:
MessageBox.Show("您现在按下的是组合键Ctrl+A! ");
break;
case Keys.B:
MessageBox.Show("您现在按下的是组合键Ctrl+B! ");
• 常用键盘事件 1.KeyDown:按下某个键时触发 2.KeyUp:释放按键时触发 3.KeyPress:KeyDown后KeyUp前触发
8
KeyDown和KeyPress的区别
• KeyDown和KeyPress的区别是KeyDown传送的是被按下键 的键盘码,而KeyPress传送被按下键的char值。
break;
12
private void buttonOK_Click(object sender, EventArgs e) {
2、如何在代码中关闭一个窗体 用法1:fm.Close(); 用法2:this.Close(); 用法3:Application.OpenForms["Form1"].Close();
3、如何隐藏一个打开的窗体 (1)隐藏当前窗体:this.Hide(); (2)隐藏其它窗体:Application.OpenForms["Form1"].Hide();
3
5.1 窗体、属性与事件
• 窗体:向用户显示信息的可视界面。 • 控件:显示数据或接受数据输入的相对独立的用户界面(UI)
元素。 • 事件:当用户对窗体或其中的某个控件进行操作时,将触发
相应的事件,在代码中即可对这些事件进行处理。
4
5.1.1 窗体的显示与隐藏
1、如何在代码中打开一个新窗体 Form2 fm = new Form2(); fm.Show(); //或者fm.ShowDialog();
textBox1.Focus();
}
} 再将textBox1的CausesValwenku.baidu.comdation属性改为False,运行观察结果。
7
5.1.3 鼠标事件与键盘事件
• 常用鼠标事件 1.Click:单击鼠标左键时触发 2.MouseDoubleClick:双击鼠标左键时触发 3.MouseEnter:鼠标进入控件可见区域时触发 4.MouseMove:鼠标在控件区域内移动时触发 5.MouseLeave:鼠标离开控件可见区域时触发
1
第1部分 第5章 Windows窗体界面设计
5.1 窗体、属性与事件 5.2 Windows窗体基本控件 5.3 菜单与工具栏 5.4 其他Windows窗体控件
2
操作技巧
• 1、凡是通过设计界面添加的事件,要想使代码不再与某个 事件关联,应该在设计界面下通过属性窗口下的雷电符号完 成。这是因为自动生成的代码是单独保存在一个文件中的, 这样做的目的是为了让其自动修改生成的代码。
4、如何重新显示隐藏的窗体 (1)显示当前窗体:this.Show(); (2)显示其它窗体:Application.OpenForms["Form1"].Show();
5
5.1.2 窗体的属性
• 设置窗体属性的方法: (1)在设计模式下设置窗体属性 (2)在代码编辑模式下设置窗体属性
• 窗体常用属性: • 1. Text 窗体标题 • 2. StartPosition 窗体首次出现的位置
• 如果忘记了在设计模式下操作,而是直接在代码编辑模式下 删除了关联的事件及其代码,或者修改了事件名称,由于系 统不会自动删除或修改生成的代码中对应事件的事件句柄, 因此仍然需要切换到设计模式,并选中要处理的控件,然后 单击属性窗口中的雷电符号,在对应的事件中重新处理一遍, 否则会引起编译错误。
• 2、如果希望控制设计窗体中各控件响应tab键的顺序,应该 通过主菜单视图下的tab键顺序操作,操作完成后,再选择 视图——tab键顺序命令返回到正常设计界面模式。
}
if (e.KeyCode == Keys.F1)
{MessageBox.Show("您现在按下的是功能键F1!是否需要帮助? ");
}
if (e.Alt == true && e.Shift == true && e.Control == true)
{MessageBox.Show("您现在按下的是组合键Ctrl+Alt+Shift!");
• 一般用KeyDown、KeyUp判断是否按下了Shift、Alt、Ctrl、 F1、箭头键等特殊键或者组合键,也可以判断是否按下某 个字符;而KeyPress仅用于判断是否按下了某个字符。
9
• 例如用户在textBox1中按回车键时,可以利用KeyPress事件作相应处理: private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Enter) {
//。。。。。。 } } • 【例5-1】
10
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
11
if (e.KeyCode == Keys.Up)
{ MessageBox.Show("您现在按下的是向上箭头!");
private void textBox1_Validating(object sender, CancelEventArgs e)
{
if (textBox1.Text.Length == 0)
{ MessageBox.Show("必须在textBox1中输入内容");
Validating事件和Validated事件
6
• Validating事件:当控件的CausesValidation属性为true,且该控件失去焦 点时,触发该事件。注意被验证有效性的控件是失去焦点的控件,而不是 获得焦点的控件。
• Validated事件:当控件的CausesValidation属性为True,且该控件失去焦 点时,触发该事件。该事件在Validating事件之后发生,表示有效性验证 已经完成。
}
if (e.Control == true)
{ switch (e.KeyCode)
{
case Keys.A:
MessageBox.Show("您现在按下的是组合键Ctrl+A! ");
break;
case Keys.B:
MessageBox.Show("您现在按下的是组合键Ctrl+B! ");
• 常用键盘事件 1.KeyDown:按下某个键时触发 2.KeyUp:释放按键时触发 3.KeyPress:KeyDown后KeyUp前触发
8
KeyDown和KeyPress的区别
• KeyDown和KeyPress的区别是KeyDown传送的是被按下键 的键盘码,而KeyPress传送被按下键的char值。
break;
12
private void buttonOK_Click(object sender, EventArgs e) {
2、如何在代码中关闭一个窗体 用法1:fm.Close(); 用法2:this.Close(); 用法3:Application.OpenForms["Form1"].Close();
3、如何隐藏一个打开的窗体 (1)隐藏当前窗体:this.Hide(); (2)隐藏其它窗体:Application.OpenForms["Form1"].Hide();
3
5.1 窗体、属性与事件
• 窗体:向用户显示信息的可视界面。 • 控件:显示数据或接受数据输入的相对独立的用户界面(UI)
元素。 • 事件:当用户对窗体或其中的某个控件进行操作时,将触发
相应的事件,在代码中即可对这些事件进行处理。
4
5.1.1 窗体的显示与隐藏
1、如何在代码中打开一个新窗体 Form2 fm = new Form2(); fm.Show(); //或者fm.ShowDialog();
textBox1.Focus();
}
} 再将textBox1的CausesValwenku.baidu.comdation属性改为False,运行观察结果。
7
5.1.3 鼠标事件与键盘事件
• 常用鼠标事件 1.Click:单击鼠标左键时触发 2.MouseDoubleClick:双击鼠标左键时触发 3.MouseEnter:鼠标进入控件可见区域时触发 4.MouseMove:鼠标在控件区域内移动时触发 5.MouseLeave:鼠标离开控件可见区域时触发
1
第1部分 第5章 Windows窗体界面设计
5.1 窗体、属性与事件 5.2 Windows窗体基本控件 5.3 菜单与工具栏 5.4 其他Windows窗体控件
2
操作技巧
• 1、凡是通过设计界面添加的事件,要想使代码不再与某个 事件关联,应该在设计界面下通过属性窗口下的雷电符号完 成。这是因为自动生成的代码是单独保存在一个文件中的, 这样做的目的是为了让其自动修改生成的代码。
4、如何重新显示隐藏的窗体 (1)显示当前窗体:this.Show(); (2)显示其它窗体:Application.OpenForms["Form1"].Show();
5
5.1.2 窗体的属性
• 设置窗体属性的方法: (1)在设计模式下设置窗体属性 (2)在代码编辑模式下设置窗体属性
• 窗体常用属性: • 1. Text 窗体标题 • 2. StartPosition 窗体首次出现的位置
• 如果忘记了在设计模式下操作,而是直接在代码编辑模式下 删除了关联的事件及其代码,或者修改了事件名称,由于系 统不会自动删除或修改生成的代码中对应事件的事件句柄, 因此仍然需要切换到设计模式,并选中要处理的控件,然后 单击属性窗口中的雷电符号,在对应的事件中重新处理一遍, 否则会引起编译错误。
• 2、如果希望控制设计窗体中各控件响应tab键的顺序,应该 通过主菜单视图下的tab键顺序操作,操作完成后,再选择 视图——tab键顺序命令返回到正常设计界面模式。
}
if (e.KeyCode == Keys.F1)
{MessageBox.Show("您现在按下的是功能键F1!是否需要帮助? ");
}
if (e.Alt == true && e.Shift == true && e.Control == true)
{MessageBox.Show("您现在按下的是组合键Ctrl+Alt+Shift!");
• 一般用KeyDown、KeyUp判断是否按下了Shift、Alt、Ctrl、 F1、箭头键等特殊键或者组合键,也可以判断是否按下某 个字符;而KeyPress仅用于判断是否按下了某个字符。
9
• 例如用户在textBox1中按回车键时,可以利用KeyPress事件作相应处理: private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Enter) {
//。。。。。。 } } • 【例5-1】
10
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
11
if (e.KeyCode == Keys.Up)
{ MessageBox.Show("您现在按下的是向上箭头!");