Time of Update: 2018-12-03
利用dns類和WMI規範擷取IP及MAC地址在C#編程中,要擷取主機名稱和主機IP地址,是比較容易的.它提供的Dns類,可以輕鬆的取得主機名稱和IP地址.樣本:string strHostName = Dns.GetHostName(); //得到原生主機名稱IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本機IPstring strAddr = ipEntry.AddressList[0].ToString();
Time of Update: 2018-12-03
1、如何獲得一個視窗的控制代碼?例如擷取視窗PictureBox控制項(其他控制項也可以)的控制代碼,IntPtr handle = pictureBox.Handle;2、注意:視窗建立和視窗建立完畢即有控制代碼完全是兩回事!!!視窗建立時,視窗並沒有建立控制代碼,只有Application.Run(form)或者form.Show()之後才有控制代碼,即視窗只有顯示或者啟動訊息迴圈後才有控制代碼!如果建立form之後Form form = new
Time of Update: 2018-12-03
form1,form2,form3是form0的子表單。 主表單form0的工具列toolbar1中有三個按鈕Toolbutton1,Toolbutton2,Toolbutton3; 點擊Toolbutton1開啟form1子表單,點擊Toolbutton2開啟form2子表單,點擊Toolbutton3開啟form3子表單; 要加入什麼代碼,可以實現這樣的功能:
Time of Update: 2018-12-03
多重文件介面就是所謂的MDI,他是從Windows 2.0下的Microsoft Excel試算表程式開始引入的,這是因為Excel試算表使用者有時需要同時操作多份表格,MDI正好為這種操作多表格提供了很大的方便,於是就產生了MDI程式。在視窗系統3.1版本中,MDI得到了更大範圍的應用。其中系統中的程式管理器和檔案管理工具都是MDI程式。 Visual C#是微軟公司推出的下一代主流程式開發語言,他也是一種功能十分強大的程式設計語言,正在受到越來越多的編程人員的喜歡。在Visual C#中,
Time of Update: 2018-12-03
有時候我們需要在子表單顯示的時候就是最大化(也就是填充了整個父表單),但通常會遇到以下麻煩:如果在 Visual Studio 裡通過屬性工具列設定了子表單的 WindowState 為 Maximized,然後在運行過程中會發現子表單執行個體化時不會最大化,而是當改變了父表單的大小之後才隨即最大化。而通過在子表單的構造器裡添加代碼的方式也無濟於事。解決辦法:取消設定 WindowState 的值(改回預設的 Normal
Time of Update: 2018-12-03
某些情況下,我們不只是單一的從主視窗調用子視窗,在現在我們所能使用到的,所能看到的軟體裡面,很多軟體都引入了從子視窗調用主視窗的例子。這裡就不一一列舉了啊!從主視窗調用子視窗相信很多人都會做了!基本代碼如下: Form2 form2=new Form2(); //其中Form2是子視窗 form2.Show();假如我們現在要執行一個在調用子視窗的同時隱藏主視窗,當子視窗關閉時顯示隱藏了的主視窗,當然這個在主視窗的代碼很好實現,代碼如下:Form2 form2=new Form2(); /
Time of Update: 2018-12-03
在我的《MDI表單相互調用一》文章中已經說明白了如何讓MDI視窗之間相互調用了。但是在上篇文章中使用的方法是用到了”參考型別“的基本特性,下面這種方法,我用類的定義來完成上述功能。一般來說,我不贊成大家使用我的第二種方法,這裡寫道的第二中方法只是和大家一起探討!我的第二種方法是(假設主視窗為Form1,子視窗為Form2)在主表單中什麼都不需要變化仍然使用如下代碼實現子表單顯示時,主表單隱藏:Form2 form2=new Form2(this);
Time of Update: 2018-12-03
我們在做winform應用的時候,大部分情況下都會碰到使用多線程式控制制介面上控制項資訊的問題。然而我們並不能用傳統方法來做這個問題,下面我將詳細的介紹。 首先來看傳統方法:public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender,
Time of Update: 2018-12-03
/* Enable CRC clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);//STM32CRCu32 CRC32(u8 *pBuf, u16 nSize){u32 index = 0;CRC_ResetDR(); //複位CRC for(index = 0; index < nSize; index++){CRC->DR = (u32)pBuf[index];}return (CRC->DR)
Time of Update: 2018-12-03
先給個網址http://www.dotblogs.com.tw/chou/archive/2009/04/12/7986.aspx 產生隨機數的類RandomRandom r =new
Time of Update: 2018-12-03
1、要解除windows xp防火牆對該命令的阻擾,需要在xp作業系統中“允許遠端管理”,具體方法如下:http://support.microsoft.com/kb/875605#6允許遠端管理1.單擊“開始”,單擊“運行”,鍵入 gpedit.msc,然後單擊“確定”。2.在“控制台根目錄”下,依次展開“電腦配置”、“系統管理範本”、“網路”、“網路連接”、“Windows 防火牆”,然後單擊“網域設定檔案”。3.按右鍵“Windows 防火牆: 允許遠端管理例外”,然後單擊“屬性”。4.
Time of Update: 2018-12-03
問題的解決思路就是使用EnumWindows遍曆所有的頂級父視窗,對每個頂級父視窗使用EnumChildWindows遍曆它的所有控制項,每個控制項其實也是視窗,拿到該控制項的控制代碼後,就可以調用GetWindowText來擷取文本資訊了。 具體實現時,首先需要定義以上API函數的回呼函數代理:/// <summary> /// 回呼函數代理 /// </summary>
Time of Update: 2018-12-03
當介面上要使用者輸入只有數位字元時,預設的Textbox是不能勝任的,網上有很多網友們提供了很多的做法,我總結了一下寫了一個在C#下的實現,做到了如下的幾點:1:只能輸入類似這樣的字元:-123456.789;1234.789;2:在輸入的字串中不能存在兩個點符:12456.78//正確;12.456.78//不正確;3:如果表示負數可以在字串的最前面加一個減號“-”,也只能加到弟一個字元的位置;4:可以用複製粘帖功能和菜單功能,但是只對能正確格式的字串有效,比如:12.34可以,Abc不可以
Time of Update: 2018-12-03
中父視窗和子視窗之間實現控制項互操作 很多人都苦惱於如何在子表單中操作主表單上的控制項,或者在主表單中操作子表單上的控制項。相比較而言,後面稍微簡單一些,只要在主表單中建立子表單的時候,保留所建立子表單對象即可。 下面重點介紹前一種,目前常見的有兩種方法,基本上大同小異: 第一種,在主表單類中定義一個靜態成員,來儲存當前主表單對象,例如: public static yourMainWindow pCurrentWin = null;
Time of Update: 2018-12-03
在.NET Framework
Time of Update: 2018-12-03
文字常量整數型別:char, short, int, longint i = 100; //預設為intint i = 100u; //無符號整型int i = 100L; //long型int i = 100UL; //無符號long型表示方式:10進位, 八進位, 16進位int i = 20; //10int i = 020; //8int i = 0x20; //16浮點型:單精確度(float)、雙精確度(double)、擴充精度(long
Time of Update: 2018-12-03
指標要注意類型的對應,不要出現類似 int * 轉向 int 的操作。int **p = 0; //指向指標的指標,不讓它指向任何地方int *p1 = *p;int array[10];int *p1 = array; //數組名指定數組首地址int *p1 = &array[0]; //指向第一個元素對應的地址字串的常見操作:遍曆串int string_length(const char *st){ int cnt = 0; if(st)
Time of Update: 2018-12-03
枚舉 enum open_modes{read=1, write, append}; void open(const char* FileName, open_modes modes) { } int main(int argc, char* argv[]) { open("", write); return 0; } 另外如果想顯示open_modes的具體意思,可以建立一個數組,按open_modes的值為下標取值 數組 * 數組維數必須是常量 *
Time of Update: 2018-12-03
string是C++標準類中的字串類,可以用它代替C風格的字串操作,來減少指標等底層因素引起的錯誤。使用string類,標頭檔引用#i nclude <iostream>#i nclude <string.h>#if _MSC_VER > 1020using namespace std;#endif 其中,主要是要引用std名字空間。定義string str;string str = "abcd";string str("abcd");string str2(
Time of Update: 2018-12-03
vector為內建數組提供了一種替代方案,稱為向量,是STL容器的一種。*引用標頭檔#i nclude #i nclude #if _MSC_VER > 1020using namespace std;#endif *定義vector ivec(10); //初始化大小為 10 個元素。vector ivec(10, 8); //用8來初始化每個元素。char a[10] = {1, 2, 8, 7, 20, 88, 22, 35, 72};vector