DataGridView中的ComboBoxItems文字過長,顯示不全對(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 閱讀(413) 評(píng)論(0)  編輯  收藏 所屬分類: .Net
          主站蜘蛛池模板: 林州市| 镇赉县| 阜康市| 岑溪市| 仙游县| 安阳市| 乐东| 萝北县| 历史| 岑溪市| 马龙县| 牟定县| 平泉县| 三台县| 巴东县| 工布江达县| 青河县| 威远县| 浪卡子县| 上高县| 泽州县| 海盐县| 十堰市| 灌南县| 双辽市| 绥化市| 察隅县| 枣庄市| 壶关县| 施甸县| 长海县| 三亚市| 家居| 桂东县| 晋州市| 宜昌市| 琼海市| 乌鲁木齐市| 繁昌县| 齐河县| 凯里市|