c# 一些控件

1、基础格式化

(1)把int i 转化为 十六进制然后转化为字符型。添加到下拉框中

            for (int i = 0; i < 256; i++)
            {
                string Xnum = i.ToString("x").ToUpper();
                // 把i转化为16进制,然后转化为字符
                // 为了实现对齐,把一位的十六进制数,前加0
                if (Xnum.Length == 1)
                    Xnum = "0" + Xnum;
                // 十六进制数前统一加上0x.
                Xnum = "0x" + Xnum;
                //Console.WriteLine(Xnum); 
                comboBox1.Items.Add(Xnum);  // 添加到下拉框中。 
            }

(2)格式化控制输出  string.Format()

   string.Format("frameType: {0,-10}", g_ImageData.frameType.ToString())  字符串按照占 10位,不够10位后面的用空格补齐,输出,靠左对齐

(3) 强制转化问题  Convert.ToInt32()  强制转化为Int32 类型。

   int EPPL1_H = Convert.ToInt32(textBox_EPPl1_HDRLAY.Text);   // 从文本框中的获取内容,强制转化为Int32,若转化不成功,就返回0。

 (4)int.Parse(string);

int.Parse(string 变量名)

该方式是将数字内容的字符串转换为int类型

1.如果字符串的内容为Null ,则抛出ArgumentNullException异常;

2.如果字符串内容不是数字,则抛出FormatException异常;

3.使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内,若超出,则抛出OverflowException异常。

 

 

2、点击按钮后,执行简单串口的方法

        private void button1_Click(object sender, EventArgs e)
        {
            string Data = comboBox1.Text;   // 获取下拉框的内容
            String Snum = Data.Substring(2, 2);
            byte[] buffer = new byte[1];
            buffer[0] = Convert.ToByte(Snum, 16); // 声明当前字符串为16进制,把字符串强制转化为byte类型。
            try  // 防止出错
            {
                serialPort1.Open();      // 串口的一些使用方法
                serialPort1.Write(buffer, 0, 1);
                serialPort1.Close();
            }
            catch   // 出错了就只执行下面代码
            {
                if(serialPort1.IsOpen)
                    serialPort1.Close();
                MessageBox.Show("端口错误","端口");   // 蹦出一个提示框
            }

        }

3、listView 控件 列表控件

请看

            this.listViewSelectRobot.CheckBoxes = false;    //设置控件中各项的旁边是否显示复选框
            
            this.listViewSelectRobot.Columns.Add("serial", 55, HorizontalAlignment.Left);   
            this.listViewSelectRobot.Columns.Add("robotID", 60, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("abn_total", 60, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("abn_Index", 60, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("abn_type", 90, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("abn_cnt", 60, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("coordinate_x", 90, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("coordinate_y", 90, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("orient", 60, HorizontalAlignment.Left);
            this.listViewSelectRobot.Columns.Add("robotTime", 120, HorizontalAlignment.Left);
            // 确定控件有几列,第一列标题为"serial",属性为 宽度为55,对齐方式为HorizontalAlignment.Left向左对齐

            this.listViewSelectRobot.View = System.Windows.Forms.View.Details;
            // 设置View属性 如果不写这句,那么加的列压根显示不出来。必须写tRobot.GridLines = true;
            this.listViewSelectRobot.LabelEdit = true;
            // 允许用户编辑书签
            this.listViewSelectRobot.AllowColumnReorder = true;
            // 是否拖动列表头来改变列的顺序

            this.listViewSelectRobot.Sorting = SortOrder.Ascending;
            // 对列表视图的项进行排序    Ascending递增排序 Descending 递减排序 None项未排序。

            for (int i = 0; i < cMaxSumPlace; i++)  // cMaxSumPlace 5000 表示5000行
            {
                this.listViewSelectRobot.Items.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
                this.listViewSelectRobot.Items[i].SubItems.Add("");
            }
            /*
             * this.listView1.Items.Add("A1");  
               这是指给这个控件表添加一个新的行,同时把新行的第一列数据设为A1,此时这个新行内的元素集合就是this.listView1.Item[0]
               this.listView1.Items[0].SubItems.Add("A2");
               这是给刚添加的第一行,也就是this.listView1.Item[0]添加第二列数据A2.如果说Items在行的层次增加,Item[i].SubItems才真正对应单元格操作。
               this.listView1.Items[0].SubItems.Add("A3");
             * 新加一行的信息 A1 -- A2 --A3
             */

            this.listViewDispPose.CheckBoxes = false;
            this.listViewDispPose.Columns.Add("serial", 60, HorizontalAlignment.Left);
            this.listViewDispPose.Columns.Add("coordinate_x", 80, HorizontalAlignment.Left);
            this.listViewDispPose.Columns.Add("coordinate_y", 98, HorizontalAlignment.Left);
            this.listViewDispPose.Columns.Add("totalCnt", 60, HorizontalAlignment.Left);

            this.listViewDispPose.View = System.Windows.Forms.View.Details;
            this.listViewDispPose.FullRowSelect = true;            // 选中一行 
            this.listViewDispPose.GridLines = true;                // 显示网格
            this.listViewDispPose.LabelEdit = true;
            this.listViewDispPose.AllowColumnReorder = true;       // 是否拖动列表头来改变列的顺序
            this.listViewDispPose.Sorting = SortOrder.Ascending;   // 排序

4、常用的窗体

RxDataDispose_Serial  串口
textBoxworkMode 工作模式文本框
button 按钮,label 标签字体  comboBox1下拉框   progressBar1 进度条  MessageBox.Show(“时间到了“,”提示”);  弹出提示框 “提示”是标题,“时间到了”是内容
timer1 是定时器。

用Panel容器控件把 RadioButton(单选框控件) 框住,就是说明在框中的单选框就是一类的。
Textbox1 文本框 可以设置横向滑动条或竖向滑动条。
复选框 (CheckBox) 多选框,
ovalShape 画圆 ovalShape.FillColor 
Button.Enable = false;  表示当前按钮按下,不能在按。
time.Interval = 1000; 时间间隔为1s;

5、form窗体一些常用属性

(1)让窗体居中显示 

(2)

6、 using (FileStream fileStream = File.OpenWrite(filePath)) ,c#中为什么要用using呢?

using的意思是变量在出了using作用域后将自动调用它的Dispose方法,也就是释放资源,一般来说,文件流都要主动释放资源的,因为读写文件是会加锁的,不释放的话,别的程序就无法使用文件了
也可以不用using,在用完后显式的调用下fs.Dispose()就好了,另外using的对象必须是实现IDisposable接口的

一、两种运用方式:
1.引入命名空间的类库方法,或者命名空间别名;

允许在命名空间中使用类型,这样就不必在该命名空间中限定某个类型的使用: 复制代码 using System.Text;

为命名空间或类型创建别名。这称为“using 别名指令”。 复制代码 using Project = PC.MyCompany.Project;

2.资源释放的作用范围:跳出using作用的范围后就会被释放。

如果一个类实现了接口IDisposable(这个接口只有一个方法void Dispose()),当这个类在using中创建的时候,using代码块结束时会自动调用这个类中实现了接口IDisposable的Dispose()方法;

using有两个主要用途:作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。作为语句,用于定义一个范围,在此范围的末尾将释放对象。

7、listBox 控件   列表框

(1) 设置横向水平条    这个属性选择true

(2)

8 label 控件

(1)确认可见边框 

(2)若想改变label控件大小 必须要把AutoSize属性改为false   

(3)name 就是 label 控件的名字 text 为 label控件要显示的内容

(4)

 

9  tabControl  选项卡

(1) MaxMode = tabControl.SelectedIndex;   获取选择项的下标。

(2)

10 comboBox 下拉框

(1) workModeSet = comboBox.SelectedIndex; 获取当前下拉框的下标 若0,1,2.. 第0项...。 

(2)comboBox.Items.Add("意外移动");   下拉框中添加 ''意外移动" 这一项。

11 textbox 文本框 

(1)把Multiline(多行),把多行属性选择为true 就可以竖向拉伸了

(2)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值