C#フォームウィンドウでは、5つのコントロールがあるとします。私はちょうどそれらのいくつかを隠している。プログラムを実行すると、(Visible = true)コントロールが表示されます。ボタンをクリックして、すべてのコントロールを表示または非表示にしたいとします。どうやってやるの?C#でフォームのすべての非表示コントロールを表示するには?
答えて
あなたは再帰的にすることができますし、パネル/グループボックスがあれば子も表示されます。
public void MakeVisible(Control control)
{
if(control.HasChildren)
{
foreach (Control child in control.Controls)
{
MakeVisible(child);
}
}
control.Visible = true;
}
コード内の表示されているプロパティを変更する必要があります。
button1.visible = true;
各非表示のコントロール、ボタン、またはそうでない場合は、
私はあなたが他の誰もが示唆しているすべてのコントロールをループしたいと思うかどうかは疑いありません。フォーム上のすべての視認性を変更することは時間の無駄であり、異なるシナリオで特定のコントロールのみを表示させると、トラックをさらに複雑にする可能性があります。
これはわずか5つのコントロールなので、それぞれを個別に変更することに固執します。
Winformsのために、これを試してみてください。
foreach (Control c in Controls) {
c.Visible = true;
}
このコードは、フォーム上のすべてのコントロールをループし、trueにVisibleプロパティを設定し、それぞれが見えるようにします。
あなたはすべてのものを表示/非表示にしたい場合は、
foreach (var controlObj in form.Controls)
((Control)controlObj).Visible = True;
よう
foreach (Control cr in this.Controls)
cr.Visible = false; // or true, if you want to show everything
何かがトリックを行う必要があります。これは単純にすべてのコントロールをフォームに表示します。あなたが唯一の5のコントロールを持っている場合は、あなたもおそらく
void showHiddenControls(bool show) {
control1.Visible = show;
control2.Visible = show;
// ...
}
のような方法では、個別に示すことができ
を(あなたがそれらをAFAIRキャストする必要がありますので、Form.Controls
だけObject
Sを含む型なしコレクションであることに注意してください)
これは、showHiddenControls(true)
を使用してそれらを表示し、showHiddenControls(false)
を使用してそれらを再び隠すことができるという利点があります。
主なアイデアは、そのようなオブジェクトを作成するために、次のようになります。
Label toto = new Label():
(...) Do whatever you wan't to initialize your object
toto.Visible = false;
Button makeItAppear = new Button();
(..) Do whatever you wan't to initialize this button
を[OK]をクリックしますイベントにハンドラを追加します。
なeventHandlerでmakeItAppear.Click += new System.EventHandler(MakeItAppear);
そして:
private void MakeItAppear(object sender, EventArgs e)
{
this.toto.Visible = true;
}
これを表示させ、ハンドラによって呼び出される関数を作成することです。もちろん、複数のオブジェクトを表示または消滅させる場合は、この関数のすべてのオブジェクトに対して同じ処理を行います。
- 1. C#、フォームを非表示にして別のフォームを表示する方法
- 2. anglejs内の表示/非表示セクションをすべて表示/非表示
- 3. コントロールはC#Windowsプログラムでフォームのイベントを非表示にします
- 4. C#でプロセスを非表示/非表示にする方法は?
- 5. フォームのすべてのフィールドを非表示にする
- 6. htmlのフォームを表示/非表示にするには?
- 7. ダイアログウィンドウからすべてのダイアログボタンを非表示/非表示にするには
- 8. LostFocusのコントロールを非表示にする
- 9. すべての非表示/非表示のウィンドウを終了
- 10. xcode内のすべてのコメントを非表示/非表示
- 11. プロジェクト全体にフォームを表示して非表示にする
- 12. ドロップダウンリストの値に基づいてコントロールを表示/非表示
- 13. 異なるユーザーの異なるコントロールの表示/非表示MS Accessフォーム
- 14. XamarinフォームiOSのボタンを非表示にしてAndroidで表示
- 15. GameObjectを非表示にしてすべて表示ソートGameObject Unityを隠すC#
- 16. Googleフォームのフィールドの表示/非表示
- 17. Wordpress - ビデオのすべてのコントロールを無効にして非表示にする
- 18. SWTコントロールを非表示にする
- 19. の表示/非表示フィールド - mobx-フォーム
- 20. リピータのJavascript非表示コントロール
- 21. すべてを非表示にする
- 22. 表示または非表示のチェックボックスすべての位置
- 23. UIImageはobjective-cで表示/非表示
- 24. ボタンの隠すC#コンソールアプリケーションの表示を非表示にする
- 25. WPTのUserControlでDataTemplateのコントロールを表示/非表示
- 26. 入力コントロールで非表示/非表示Webビジネスオブジェクト
- 27. C#でWindowsフォームのチャートコントロール内のすべてのポイントを表示
- 28. ユーザーのプロパティに応じて、表示/非表示のコントロールを制御します。
- 29. ASP.NET ReportViewerコントロールでパラメータを表示/非表示にするときの問題
- 30. 条件を表示/非表示のフィールドを表示/非表示にする
@H。ウォーダック:なぜそれが再帰的であるか気にしますか? –