.Visible
そのため、Button
on true をコンストラクターで設定しようとしていますが、その変数を変更することはできません。ここでprintscreen
明確にする
奇妙なことに、そのコードをフォーム読み込みイベントに移動すると、その問題は発生しません。だから私の質問は、これはどのように可能ですか?
編集: デザイナーでも表示可能です。 編集 2: PictureBox をボタンに変更しました。
.Visible
そのため、Button
on true をコンストラクターで設定しようとしていますが、その変数を変更することはできません。ここでprintscreen
明確にする
奇妙なことに、そのコードをフォーム読み込みイベントに移動すると、その問題は発生しません。だから私の質問は、これはどのように可能ですか?
編集: デザイナーでも表示可能です。 編集 2: PictureBox をボタンに変更しました。
これは完全に正常です。Visible プロパティは少し特殊です。それを読んでも、割り当てた値はわかりません。コントロールが実際にユーザーに表示されているかどうかがわかります。コンストラクター内では決してそうではありません。フォームの Shown イベントが実行されるまで、コントロールは表示されません。
あなたには本当の問題はありません。
ASP.NETページのライフサイクル
初期化:ページの初期化中に、ページ上のコントロールが使用可能になり、各コントロールのUniqueIDプロパティが設定されます。マスターページとテーマも、該当する場合はページに適用されます。現在のリクエストがポストバックである場合、ポストバックデータはまだロードされておらず、コントロールプロパティ値はビューステートからの値に復元されていません。
ロードロード中に、現在の要求がポストバックである場合、コントロールプロパティは、ビューステートおよびコントロールステートから回復された情報とともにロードされます。
ご覧のとおり、ロード中にコントロールプロパティが設定されるため、コードはロードイベントで機能しますが、コンストラクターでは機能しません。