黑马程序员技术交流社区

标题: c# - WinForm中实用小知识点总结(2) [打印本页]

作者: 王起    时间: 2013-3-16 14:34
标题: c# - WinForm中实用小知识点总结(2)
转自别处,分享给大家!
1.在WinForm中使多个控件共享一个事件的实现:
   方法:按住Ctrl键,一次选中多个控件,选择它们共有事件,双击即可。
  例如:选择多个Button,在事件中找到Button的单击事件,双击进去,在Click事件中编写代码,这样  

            就实现了多个控件共享一个事件。

2.在WinForm中使用DataGridView与数据库绑定数据时,会出现中英文列名同时显示的麻烦,这是只需一行代码  

将英文列明显示屏蔽掉既可以只显示中文列名;
示例代码:
this.dataGridView1.AutoGenerateColumns = false;
最好在使用DataGridView控件与数据库绑定数据时,将这行代码带上即可避免不必要的麻烦。

3.在WinForm中如果是一个容器控件,比如说:GroupBox,Panel,若想它其中的所有控件的Enabled属性都为

false,只需将改容器控件的Enabled属性设为false即可实现该效果。
示例代码:
this.panel1.Enabled = false;

在Winform中清空窗体的简便方法可以这样写:
示例代码:
private void Clear()
         {
             foreach (Control c in this.Controls)
             {
                 if (c is TextBox)
                 {
                     c.Text = string.Empty;
                 }
                 if (c is CheckBox)
                 {
                     CheckBox ch = c as CheckBox;
                     ch.Checked = false;
                 }
             }
         }
但这样的话,若要清空该容器控件中的其它控件的内容会出现问题,导致其他控件不可清空。怎么办呢?
只需改动以上代码的一处即可:将this.Controls改为this.panel1.Controls
示例代码:
private void ReSetControl()
         {
             foreach (Control c in this.panel1.Controls)
             {
                 if (c is TextBox)
                 {
                     c.Text = string.Empty;
                 }
                 if (c is CheckBox)
                 {
                     CheckBox ch = c as CheckBox;
                     ch.Checked = false;
                 }
             }
         }

4.在WinForm窗体中添加滚动字幕
首先,在窗体中添加一个Lable控件,用来显示滚动的文字;添加连个Button控件,用来控制滚动字幕的开始与

停止;最后再添加一个Timer控件,用来控制文字滚动的速度;
其次,编写Timer控件的Tick事件;
示例代码:
         private void timer1_Tick(object sender, EventArgs e)
         {
             label1.Left -= 2;  //Lable向左减2
             if (label1.Right < 0)
             {
                 label1.Left = this.Width;
             }
         }
最后,编写button1和button2的单击事件,用来控制字幕滚动的开始和停止;
示例代码:
         //控制文字滚动的开始
         private void button1_Click(object sender, EventArgs e)
         {
             timer1.Enabled = true;
         }
  //控制文字滚动的停止
         private void button2_Click(object sender, EventArgs e)
         {
             timer1.Enabled = false;
         }

启动调试,预览效果···

作者: 许庭洲    时间: 2013-3-16 20:08
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2