標籤:ptr 通過 text 表頭 sum 代碼 amp cat cte
前言:在項目中,有時候一些小的功能點,總是容易讓人忽略,但是這些功能加在項目中往往十分的有用,因此筆者在這裡總結項目中遇到的一些實用的小功能點,以備用,並持續更新......
1.禁用DataGridView表頭的排序功能
1 /// <summary> 2 /// 禁止點擊列表頭進行排序 3 /// </summary> 4 /// <param name="dgv">當前DataGridView控制項</param> 5 private void DisableSortOrder(DataGridView dgv) 6 { 7 for (int i = 0; i < dgv.ColumnCount; i++) 8 { 9 dgv.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;10 }11 }
2.屏蔽雙擊標題列視窗變小、點擊標題列移動視窗事件
1 /// <summary> 2 /// 屏蔽雙擊標題列變小事件、點擊標題列移動視窗事件 3 /// </summary> 4 /// <param name="m"></param> 5 protected override void WndProc(ref Message m) 6 { 7 //雙擊標題列、移動視窗事件 8 if (m.Msg != 0xA3 && m.Msg != 0x0003 && m.WParam != (IntPtr)0xF012) 9 {10 base.WndProc(ref m);11 }12 13 }
註:在需要不被移動的視窗中添加上述代碼,其他具體訊息,可查詢相關資料,進行控制。
m.Msg = 0xA3 -> 雙擊標題列訊息
m.Msg = 0x0003 && m.WParam = (IntPtr)0xF012 -> 移動表單訊息
3. 登入時,當正確輸入口令後,關閉登入視窗
註:這個功能其實還比較重要,因為如果我們直接this.hide()或this.close()是不行的,這是就需要一個小技巧進行控制,具體如下代碼:
1.在Program.cs中如下:
1 LoginForm lf = new LoginForm();2 lf.ShowDialog();3 if (lf.DialogResult == DialogResult.OK)4 Application.Run(new SelectItemForm());
2.然後在登入視窗中,當登入成功後進行如下控制:
this.DialogResult = DialogResult.OK;
this.Close();
通過以上兩步就可以實現關閉登入介面,從而轉到所需的主介面中。
持續更新中......by Shawn Chen 2017.7.10 晚
C#、Java中的一些小功能點總結(持續更新......)