私は、別のコントロールで動的にラップされたウィンドウフォームボタンを作成しています。私が抱えている問題は、ボタンEnabledプロパティを設定すると、有効になっている(灰色ではない)ように表示されているが、clickalbeではないということです。これは、私が正しくボタンを作成していないとか、それ以外の何かを作成しているとは思わない。Windowsフォームbutton.Enabledは視覚的に機能しません
これは私がボタンを作成するために使用するコードです。
private System.Windows.Forms.Button CreateWindowsButton(SessionButtonTypes sessionButtonType)
{
windowsButton = new System.Windows.Forms.Button()
{
Top = 3,
Name = sessionButtonType.ToString(),
Width = DeterminButtonWidth(guiElement),
Height = 45,
FlatStyle = FlatStyle.Flat,
BackgroundImage = GUI.Instance.GUIImageElement(guiElement)
};
// set windows button flat border parameters
windowsButton.FlatAppearance.BorderSize = 0;
// for testing
windowsButton.Enabled = false;
}
[UPDATE] 溶液は、画像パラメータはなく、背景画像パラメータに画像要素を置くことが判明しました。 Enabled
がfalseに等しい場合であっても、グレーアウト表示されていないボタンになるだろう定義済みのスタイルを持っているFlatStyle
力制御を使用して
に「標準」からflatstyleを変えたボタンは、コンテナのControlsコレクションに追加されているように通常制御します。私たちはあなたのコードのこの部分を見ません。 – Steve
私は知っている、道に沿って他のコードがたくさんありますが、これはその一部ですが、どちらの方法でも、私はBackgroundImageではなくイメージを設定する必要があります。イメージをすべて設定すると、意図どおりに動作します。 – Siegeon
プロパティを削除してみてください。FlatStyle = FlatStyle.Flat – Habib