DataGridView中的ComboBoxItems文字過長,顯示不全對應策
                  //----------------------------------------------------
                  /// <summary>
                  
          /// BDataGridView cell enters edit mode 時発生します
                  
          /// </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) 評論(0)  編輯  收藏 所屬分類: .Net
          主站蜘蛛池模板: 额济纳旗| 黎川县| 海门市| 神池县| 汝城县| 新闻| 蒙自县| 沙雅县| 宜川县| 封丘县| 绥中县| 宝坻区| 防城港市| 邵东县| 密山市| 潼南县| 涞源县| 莲花县| 玉门市| 益阳市| 尼玛县| 囊谦县| 山阴县| 淅川县| 洪湖市| 内丘县| 高邮市| 安宁市| 买车| 北京市| 遵化市| 潞城市| 扎鲁特旗| 崇明县| 牡丹江市| 集贤县| 贡山| 姚安县| 金湖县| 河津市| 万州区|