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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章