設計時に設定されたカスタム コントロール プロパティの値を正しく読み取るにはどうすればよいですか?
現在、行と列はコントロールのプロパティ リスト (vs.net as ide) に設定されていますが、コントロールのコンストラクタから読み取ると、両方のプロパティが 0 を返します。アプリケーションの起動時にプロパティが割り当てられる前に、コンストラクターが実行されていると思われます。
これを行う正しい方法は何ですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace HexagonalLevelEditor.HexLogic{
class HexGrid : System.Windows.Forms.Panel {
public HexGrid() {
for(int c = 0; c < this.Columns; ++c) {
for(int r = 0; r < this.Rows; ++r) {
HexCell h = new HexCell();
h.Width = 200;
h.Height = 200;
h.Location = new System.Drawing.Point(c*200, r*200);
this.Controls.Add(h);
}
}
}
private void InitializeComponent() {
this.SuspendLayout();
this.ResumeLayout(false);
}
private int m_rows;
[Browsable(true), DescriptionAttribute("Hexagonal grid row count."), Bindable(true)]
public int Rows {
get {
return m_rows;
}
set {
m_rows = value;
}
}
private int m_columns;
[Browsable(true), DescriptionAttribute("Hexagonal grid column count."), Bindable(true)]
public int Columns {
get{
return m_columns;
}
set {
m_columns = value;
}
}
}
}