天天看點

做C#開發時遇到的一些問題做C#開發時遇到的一些問題

做C#開發時遇到的一些問題

  1. C#winform中的textBox控件在輸入時無法居中,也沒有其屬性可以更改。
  • 解決方案:選中該textBox控件然後再Font屬性把字型格式更改為Microsoft Sans Serif。tips:此方案隻能使豎直居中。
  1. C#整理代碼快捷鍵是什麼
  • 解決方案:快捷鍵 → Ctrl + K + D
  1. 如何使ListView始終顯示最底層( 最新 )的内容?
  • 解決方案:C#代碼 →

    //顯示框顯示消息 private void ShowMsg(string message) { this.listBox_show.Dispatcher.Invoke(new Action(() => { //添加消息到顯示框 listBox_show.Items.Add(message); //滾動到最後一行 listBox_show.ScrollIntoView(listBox_show.Items[listBox_show.Items.Count - 1]); })); }

    Tips:其還是有個bug:在底部的内容和以前的内容完全相同的情況下滾輪是不會滑到最底部的。
  1. C#WindowsForm中listBox控件如何時鐘顯示最底層( 最新 )的内容?
  • 解決方案: C#代碼 →
//顯示框顯示消息
public void ShowMsg(string message)
{
    //添加消息到顯示框
    listBox_receive.Items.Add(message);
    //選擇條移到最後一行
    listBox_receive.SelectedIndex = listBox_receive.Items.Count - 1;
    //滑輪滾動到最後一行
    listBox_receive.TopIndex = listBox_receive.Items.Count - 1;
}
           
  1. C#WindowsForm中控件在其他線程中無法使用,怎麼辦?
  • 解決方案: C#代碼 →
//取消跨線程控件通路檢查,在窗體初始化之後加上即可
CheckForIllegalCrossThreadCalls = false;
           
  1. C#WPF中控件在其他線程中無法使用,怎麼辦?
  • 解決方案: C#代碼 →
//調用委托來進行解決
 this.btn_openServer.Dispatcher.Invoke(new Action(() => {
 	this.btn_openServer.Content = "開啟伺服器";
 }