■2158 / inTopicNo.1) |
DataGridViewで使用するコントロールの拡張について |
□投稿者/ REN (1回)-(2007/03/21(Wed) 17:31:20)
|
分類:[C# (Windows)]
掲題の件ですが、DataGridViewに表示するDataGridViewComboBoxColumnに対して 機能を拡張したく四苦八苦しております。
最終的にはDataGridViewComboBoxColumnExというDataGridViewComboBoxColumnを継承したものを作成し、 http://www.microsoft.com/japan/msdn/net/winforms/bettercombobox.aspx にあるような機能を付与したいと思っています。
現在までに試したことは、 DataGridViewComboBoxColumnEx : DataGridViewComboBoxColumn DataGridViewComboBoxCellEx : DataGridViewComboBoxCell DataGridViewComboBoxEditingControlEx : DataGridViewComboBoxEditingControl の3つの継承コントロールを作成し、
DataGridViewComboBoxColumnExには コンストラクタを public DataGridViewComboBoxColumnEx() : base() { InitializeComponent(); this.CellTemplate = new DataGridViewComboBoxCellEx(); }
DataGridViewComboBoxCellExでは public override Type EditType { get { return typeof(DataGridViewComboBoxEditingControlEx); } } を追加し、
DataGridViewComboBoxEditingControlExでは コンストラクタにて this.DropDown += new EventHandler(… として実際のイベントハンドラにて this.DropDownWidth = 300; として、とりあえず固定でサイズ変更をさせてテストしてみました。
結果として、イベントは正常に呼ばれ、サイズが設定されるのですが、 実際にはDataGridViewの該当列の幅と同じままでした。
何か解決策などございましたらご教授下さい。
|
|