1

.Visibleそのため、Buttonon true をコンストラクターで設定しようとしていますが、その変数を変更することはできません。ここでprintscreen明確にする ここに画像の説明を入力

奇妙なことに、そのコードをフォーム読み込みイベントに移動すると、その問題は発生しません。だから私の質問は、これはどのように可能ですか?

編集: デザイナーでも表示可能です。 編集 2: PictureBox をボタンに変更しました。

4

2 に答える 2

1

これは完全に正常です。Visible プロパティは少し特殊です。それを読んでも、割り当てた値はわかりません。コントロールが実際にユーザーに表示されているかどうかがわかります。コンストラクター内では決​​してそうではありません。フォームの Shown イベントが実行されるまで、コントロールは表示されません。

あなたには本当の問題はありません。

于 2013-03-15T19:20:44.857 に答える
0

ASP.NETページのライフサイクル

初期化:ページの初期化中に、ページ上のコントロールが使用可能になり、各コントロールのUniqueIDプロパティが設定されます。マスターページとテーマも、該当する場合はページに適用されます。現在のリクエストがポストバックである場合、ポストバックデータはまだロードされておらず、コントロールプロパティ値はビューステートからの値に復元されていません。

ロードロード中に、現在の要求がポストバックである場合、コントロールプロパティは、ビューステートおよびコントロールステートから回復された情報とともにロードされます。

ご覧のとおり、ロード中にコントロールプロパティが設定されるため、コードはロードイベントで機能しますが、コンストラクターでは機能しません。

于 2013-03-14T22:26:46.943 に答える