Winform窗体学习笔记 第一篇通用操作

本文介绍C#中使用快捷键复制控件、查看代码和属性的方法,演示如何利用System.Diagnostics命名空间的Process类打开外部程序,如文件夹、记事本、Word文档和网页,并讲解事件模板的创建与调用,以及如何通过代码在Form中动态创建控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 按Ctrl键同时拉动控件,可以复制一个控件。

2. 在Form上点右键》查看代码,或是按F7。F4显示属性。

3. 实现文件夹打开显示功能,类似右键》打开所在文件夹。
  System.Diagnostics命名空间:
    Process类:提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。

复制代码(打开外部程序)

1. 用Explorer.exe打开文件夹:
  System.Diagnostics.Process.Start("Explorer.exe",@"D:\DOCUMENTS\"); 
  System.Diagnostics.Process.Start("Explorer.exe",@"D:\DOCUMENTS"); 

2. 用notepad.exe打开记事本:
  System.Diagnostics.Process.Start("notepad.exe",@"F:\Desktop\1.txt"); 

3. 用Word的快捷方式打开Word文件:
  System.Diagnostics.Process.Start(@"F:\Desktop\Word 2010", @"F:\Desktop\1.docx");

4. 用Firefox打开网址:www.baidu.com:
  System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe", "www.baidu.com");

复制代码

(添加/删除事件  可使用事件模板)

4. 建立事件模板,然后调用:由于事件的监视及管理是由Application对象进行的,程序员不需要知道用户何时响应事件或者是响应了什么事件,只需要为事件添加响应方法即可。添加方法”+=“,取消方法”-=“。参数sender为事件发出者;e为事件的附加数据,事件不同,e也不同。

复制代码

        public Form1()
        {
            InitializeComponent();
            textBox2.MouseMove += new MouseEventHandler(textBox_MouseMove);     //调用事先建立的模板
            textBox3.MouseMove += new MouseEventHandler(textBox_MouseMove);     //四个TextBox可以实现相同的功能
            textBox4.MouseMove += new MouseEventHandler(textBox_MouseMove);     //通过双击Tab键可以自动实现后半部分
            textBox5.MouseMove += new MouseEventHandler(textBox_MouseMove);
        } 
        private void textBox_MouseMove(object sender, MouseEventArgs e)     //建立事件模板
        {
            TextBox tb = sender as TextBox;
            tb.BackColor = Color.Red;
        }

复制代码

复制代码

        public Form1()
        {
            InitializeComponent();
            textBox1.KeyPress += new KeyPressEventHandler(textBox_KeyPress);    //单击tab键出现一行
            textBox2.KeyPress += new KeyPressEventHandler(textBox_KeyPress);    //双击tab键出现N行
            textBox3.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
            textBox4.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
        }

        private void textBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8 && e.KeyChar != 13)
            {
                e.Handled = true;
            }
        }

复制代码

(打开外部程序  编写控件以及指定位置)

5. 用代码在Form中写控件,同时可以编写控件数组,例如:

复制代码

            Label[] lbs = new Label[5];     //建立标签控件数组
            for (int i = 0; i < lbs.Length; i++)
            {
                lbs[i] = new Label();       //在声明下Label类
                this.Controls.Add(lbs[i]);      //将Label加到控件集中
                lbs[i].Left = 14;
                lbs[i].Top = 30 * i + 14;       //设置控件的位置
                lbs[i].Width = 400;         //设置控件的宽度
            }

复制代码

        首先用Label建立数组,接下来遍历数组,给数组的每个要素声明Label,接下来用Controls的Add方法将用代码写的控件添加到控件集中,同时设置控件的位置和长宽。

 

(双击编辑函数)

6. 用代码执行事件:首先是双击控件,生成一个button1_Click(object sender,EventArgs e)的函数,通过代码直接调用这个函数,既可以调用这个事件,说到底就是调用函数。

复制代码

        private void button1_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.URL = musicPath + @"music\1.mp3";
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            button1_Click(button1, e);    //通过代码调用按钮单击事件,其他事件调用是类似的!
        }       

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值