C#学习笔记(Winform)

这篇博客详细介绍了C# WinForm的基础及高级控件,包括HelpButton属性的使用、禁止用户改变窗体大小、MDI多文档界面的实现、Button、Label、TextBox、RichTextBox、Timer控件的功能与示例。还涵盖了PictureBox控件、图片浏览器、ImageList控件以及如何通过CheckBox、ComboBox、ListBox和CheckedListBox进行交互操作。此外,还讲解了Panel控件和StatusStrip状态栏的应用。
摘要由CSDN通过智能技术生成

以下笔记都是在我爱自学网上学习整理的,方便自己复习回顾,如果能帮到读者就更好了
一:基础控件
1:窗体的HelpButton属性
HelpButton即是否显示帮助按钮,该属性不能和最小化,最大化这两个属性同时使用,如果仅仅是将HelpButton属性设为true,运行程序是看不到效果的,因为其遮住了HelpButton,必须将最小化和最大化都设置为false才行
2:禁止用户改变窗体大小
可以将窗体最大和最小的数值设置为一致
3:可以通过工具箱拖拽给窗体添加控件(按钮,菜单等),也可以直接通过代码添加
(通过窗体类的Controls类的Add方法):

			Button button2 = new Button();
            button2.Text = "通过代码添加的按钮";
            button2.Size = new Size(130, 30);
            button2.Location = new System.Drawing.Point(100, 40);

            Controls.Add(button2);

4:MDI多文档界面
首先添加一个父窗体,将其IsMdiContainer设置为true,然后创建一个子窗体,将其父窗体设置为之前的父窗体。设置子窗体在父窗体内的布局可以用LayoutMdi方法

  		private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ChildForm myChildForm = new ChildForm();
            myChildForm.MdiParent = this;
            myChildForm.Show();
        }

        private void 层叠ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //cascade:层叠,瀑布
            LayoutMdi(MdiLayout.Cascade);
        }

        private void 水平ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileHorizontal);
        }

        private void 垂直ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileVertical);
        }

        private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

5:你追我赶小游戏

  private void label1_MouseEnter(object sender, EventArgs e)
        {
            Random r = new Random();
            //MessageBox.Show(r.Next(0, 10).ToString());
            int maxX = this.ClientSize.Width-label1.Width;
            int maxY = this.ClientSize.Height - label1.Height;
           label1.Location = new Point(r.Next(0, maxX+1),r.Next(0,maxY+1));

        }

        private void label1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("可以的");
        }

运行后鼠标一进入Label标签,标签就会重新定位,是点击不到标签的,可以将窗口大小缩小,然后就可以点击到了
在这里插入图片描述
6:Button控件
添加两个窗口,点击第一个窗口的按钮弹出第二个窗口,点击第二个窗口的按钮弹出消息框

//第一个窗口的按钮点击事件
private void button1_Click(object sender, EventArgs e)
        {

            MainForm._myForm1 = this;//静态类的静态字段,用来存储主窗口
            Form2 myForm2 = new Form2();
            myForm2.Show();
        }
 //第二个窗口的按钮点击事件
 private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("我就变成了沙雕");
            //要想关闭所有的窗体,只需要关闭主窗体就行了
            MainForm._myForm1.Close();
        }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7:Label和TextBox控件
要实现下面这种效果,就需要用到这两个控件了
在这里插入图片描述
TextBox如果为密码框,可以设置其PasswordChar属性
给相应控件添加相应的事件即可:

 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            label6.Text = textBox1.Text;
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            label7.Text = textBox2.Text;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            label6.Text = null;
            label7.Text = null;
        }

8:RichTextBox
Demo效果如下:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值