C#窗体、控件等注意事项(周学习内容)

1.构造函数:

构造函数具有下列特征
1)构造函数的名称与类名相同
2)可以创建多个构造函数,以根据不同的参数列表进行相应的初始化
3)构造函数不能声明返回类型(也不能使用void),也不能返回值
4)一般构造函数总是public类型的。private类型的构造函数表明类不能被实例化,通常用于只含有静态成员的类
5)创建对象时,自动调用对应的构造函数,不能显式调用构造函数
6)在构造函数中不要做对类的实例进行初始化以外的事情

2.窗体、控件:

1)结束程序的窗体按钮button1设置:

 private void button1_Click(object sender, EventArgs e)//结束程序按钮
 {
        DialogResult result = MessageBox.Show("确定要结束程序吗?[YES/NO]", "提示",
        MessageBoxButtons.YesNo, MessageBoxIcon.Warning,
        MessageBoxDefaultButton.Button1);
        f(result==DialogResult.Yes)
         {
              Application.Exit();
          }
 }

private void Form1_load_1(object sender,EventArgs e)

 {
         this.button2.Text = "结束运行";

}


       

2)关于textbox防止用户端未输入而导致无法运行?

解决方法:定义初始值!若未输入则使用初始值格式如下

int n;

 if (textBox1.Text == "") 

        n = 10;//提供一个初始值10,防止用户端未输入

 else
        n = Convert.ToInt32(textBox1.Text);//将textbox输入提供给变量zh

//若n为double类型则赋值: n = Convert.ToDouble32(textBox1.Text);(以此类推)

3)随机颜色的获取: 

Random Random = new Random();//实例化
 Color getRandomColor()//获取随机颜色
 {
         return Color.FromArgb(Random.Next(255), Random.Next(255), Random.Next(255));
 }

//上图采用了如上颜色获取(每画一次一个随机颜色)

4)俩个相同的文本框(一个textbox1输入提供给textbox2,反之不能) 

privat void textBox_TextChanged(object sender,Eventargs e)

{

                textBox2.Text=textBox1.Text;//将textBox1赋值给textBox2显示!
}

5) 按钮控制标签基本介绍

private void button1_Click(object sender, EventArgs e)

{

               this.label1.Left+=10;//按钮每用一次标签label1左(以此类推)移动十个单位

               this.label1.BackColor=Color.FromArgb(255,100,0);

                //标签背景颜色改变成(255,100,0)所对应的颜色

                //也可为写Color.Blue;对应蓝色,或者Color.FromName("Blue"); 

                int n=250;

                this.lablel1.Text="我是真的牛皮,智商:"+n;//将标签修改!

                

}

若为自动控制则使用组件Timer,属性tick里有Interval(时间控制ms)、Enabled(使能选择Ture)

5)如何实现按钮清屏(清理图像重新开始)

  private void button1_Click(object sender, EventArgs e)
  {
                this.Refresh();//清屏
  }

3.GDI:Graphics Device Interface:

1)介绍Graphics的创建

为form添加按钮,在Click事件中添加如下代码:

Graphics g=this .CreaterGraphics();//创建绘图对象

Pen pen =new Pen(Color.Red,2);//定义一个宽为2的红笔

Brush brush=new SolidBrush(Color.blue);//定义一个实心画刷(填充)

Font font=new Font("宋体",24);//宋体24大小字体

Rectangle rect=new Rectangle(20,120,100,140);//画一个坐标(20,120)长100,宽140的矩形

2)关键字介绍:

DrawLine画线HatchBrush带阴影的画刷
DrawRectangle(pen,rectangle)画矩形LinearGradientBrush线性渐变画刷

DrawString

("文字",font,brush,x,y)

画文本PathGradientBrush填充颜色沿路径渐变
Dispose();释放TexttureBrush图像填充画刷
DrawEllipse画椭圆SolideBrush实心画刷 
DrawImage绘制图像

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

致奋斗的自己

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值