2014年2月19日 星期三

[C#/winform] 主Form / 副 Form 如何製作+連結2個Form

在VS2012裡面按 專案-> 加入windows form

你設定的檔名ex : form2

回到主Form,在要顯示的地方加入

Form2 frm2(這名稱可以改) =  new Form2();

frm2.showdialog(this); //show 副form

this.show(); //回到主form

即可。

[C#/Error] 不一致的存取範圍: 欄位型別 ...... 比欄位 ..... 存取範圍低

通常初學者寫Class不會特別宣告型別

但如果你宣告

public static Class名稱;
public Form
{
    ....
    ....
}
Class 名稱
{
    ......
}

這樣就有問題了!! 因為基本設定 Class沒加任何型別 = internal(內部可用)


Public > internal  所以 造成 "不一致的存取範圍: 欄位型別 ...... 比欄位 ..... 存取範圍低"的Error!

public static Class名稱;
public Form
{
    ....
    ....
}
public Class 名稱
{
    ......
}

這樣才對

End


[C#] List的基本用法

在寫程式常常會遇到要動態陣列,C#也很貼心的做了一個功能----泛型List<T>

但我想主要不是用在這邊....沒關係,還是講解一下List的用法

一開始一定就是

List<任意型態> 名稱 = new List<跟前面一樣的任意型態>();   //new給它一個空間

然後就可以在迴圈裡面丟給它值(它可以任意變動長度)

丟值的方法為: 名稱.Add(值);

如果要從中取出值就跟陣列一樣

名稱[0] (陣列位置可以改,這邊只是範例)

如果要長度 :名稱.Count 就會跟平常的.Length一樣囉!

範例:

List<byte> modbus = new List<byte>();

for (int i = 0; i < 30; i++)
{
       if (Modbus_save[i] == true) //這邊只是設一個條件而已
      {
            modbus.Add(Convert.ToByte(i)); //把i轉byte型態,存入List<T>
       }
}

End