私は3つのボタン(線、円、長方形)でこのミニペイントを作ろうとしています。各ボタンをクリックすると、ランダムな色と開始点を持つ関連する図形が印刷されます。私は、ユーザが形状を選択するように、このコンボボックスを作り、PropertyGridの中にそのプロパティを参照している:プロパティグリッドでプロパティを変更する
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.SelectedItem.ToString())
{
case "circle":
{
propertyGrid1.SelectedObject = c;
}
break;
case "line":
{
propertyGrid1.SelectedObject = l;
}
break;
case "rectangle":
{
propertyGrid1.SelectedObject = r;
}
break;
default:
break;
}
}
C、Lおよびrは、円、線又は矩形のクラスから新しいオブジェクトです。サークルの色や開始点を変更するなど、propertyGridを使用してプロパティをオーバーライドできるようになりました。いくつかのような:
private void propertyGrid1_Click(object sender, EventArgs e)
{
circle.changeproperties=Griditem.value;
}
私はこれをどのように書きますか?
'PropertyGrid'がシェイプのプロパティを編集するのに十分です。これを画面上に描かれたものを変更したい場合は、 'PropertyGrid'で変更しているのと同じシェイプインスタンスで描画呼び出しを行うようにしてください。 'OnPaint'メソッドや' Paint'イベントハンドラですべての描画を行い、プロパティが変化したときに 'Invalidate()'を呼び出すことでコントロールを無効にすることも忘れないでください。 – adv12
WinForms? WPF? WebForms? MVC? –