DataGridView中的ComboBoxItems文字過長(zhǎng),顯示不全對(duì)應(yīng)策
                  //----------------------------------------------------
                  /// <summary>
                  
          /// BDataGridView cell enters edit mode 時(shí)発生します
                  
          /// </summary>
                  
          /// <param name="sender"></param>
                  
          /// <param name="e"></param>
                  //----------------------------------------------------
                  private void bDgvToti_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
                  {
                      ComboBox cmb = e.Control as ComboBox;
                      if (cmb != null)
                      {
                          cmb.DropDown -= new EventHandler(bDgvCmb_DropDown);
                          cmb.DropDown += new EventHandler(bDgvCmb_DropDown);
                      }
                  }

                  //----------------------------------------------------
                  /// <summary>
                  
          /// auto-size the DataGridViewComboBoxColumns's DropDownWidth
                  
          /// </summary>
                  
          /// <param name="sender"></param>
                  
          /// <param name="e"></param>
                  //----------------------------------------------------
                  private void bDgvCmb_DropDown(object sender,EventArgs e)
                  {
                      ComboBox cmb = sender as ComboBox;
                      int width = cmb.DropDownWidth;
                      Graphics g = cmb.CreateGraphics();
                      Font font = cmb.Font;
                      int vertScrollBarWidth = 0;
                      if (cmb.Items.Count > cmb.MaxDropDownItems)
                          vertScrollBarWidth = SystemInformation.VerticalScrollBarWidth;

                      int maxWidth;
                      foreach (DataRowView drv in cmb.Items)
                      {
                          string s = drv[0].ToString();
                          maxWidth = (int)g.MeasureString(s, font).Width + vertScrollBarWidth;
                          if (width < maxWidth)
                              width = maxWidth;
                      }

                      DataGridViewComboBoxColumn c =
                          this.bDgvToti.Columns[bDgvToti.CurrentCell.ColumnIndex] as DataGridViewComboBoxColumn;
                      if (c != null)
                          c.DropDownWidth = width;
                  }
          posted on 2016-04-07 15:16 Ying-er 閱讀(410) 評(píng)論(0)  編輯  收藏 所屬分類: .Net
          主站蜘蛛池模板: 龙山县| 贺兰县| 临潭县| 东乌| 垦利县| 潞西市| 城市| 枣强县| 濮阳市| 辰溪县| 闽清县| 清苑县| 故城县| 申扎县| 井冈山市| 漳平市| 文化| 丁青县| 双城市| 洱源县| 大连市| 凤凰县| 西青区| 石台县| 云阳县| 左云县| 漯河市| 宜宾市| 昌吉市| 洪泽县| 桐乡市| 怀宁县| 武平县| 太和县| 鸡东县| 荆门市| 仁化县| 蒙阴县| 肇源县| 白山市| 盐池县|