DevExpress GridView提示之欄位標題點擊事件

來源:互聯網
上載者:User

標籤:

在這裡使用GridView的MouseDown事件。這裡同樣使用的是GridHitInfo來擷取點擊位置的資訊,來判斷是否在欄位標題上。GridHitInfo根據滑鼠點擊的x、y座標擷取該點的相關資訊,判斷是否點擊在欄位標題行內。

private void gridView_MouseDown(object sender, MouseEventArgs e)          {              //滑鼠左鍵點擊              if (e.Button == MouseButtons.Left)              {                  GridHitInfo info = gridView.CalcHitInfo(e.X, e.Y);                  //在欄位標題欄內且欄位標題name是"colName"                  if (info.InColumnPanel && info.Column.Name =="colName")                  {                      XtraMessageBox.Show("點擊Name欄位標題!");                  }              }          }以上代碼很簡單,但是有個小問題,就是在該列右邊線拖動這一列的列寬時,也會彈出對話方塊,因為這裡拖動列寬也被視為點擊滑鼠。這顯然不合適。解決這個問題的辦法也很簡單,就是判斷滑鼠點擊位置不在右邊線向左移動一點距離(3像素)範圍內。下面對以上代碼稍加修改,就不會再有這個問題了。private void gridView_MouseDown(object sender, MouseEventArgs e)          {              //滑鼠左鍵點擊              if (e.Button == MouseButtons.Left)              {                  GridHitInfo gridHitInfo = gridView.CalcHitInfo(e.X, e.Y);                  //在欄位標題欄內且欄位標題name是"colName"                  if (gridHitInfo.InColumnPanel && gridHitInfo.Column.Name =="colName")                  {                      //擷取該列右邊線的x座標                      GridViewInfo gridViewInfo = (GridViewInfo)this.gridView.GetViewInfo();                      int x = gridViewInfo.GetColumnLeftCoord(gridHitInfo.Column) + gridHitInfo.Column.Width;                      //右邊線向左移動3個像素位置不彈出對話方塊(實驗證明3個像素是正好的)                      if (e.X < x - 3)                      {                          XtraMessageBox.Show("點擊Name欄位標題!");                      }                  }              }          }

DevExpress GridView提示之欄位標題點擊事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.