問題タブ [splitcontainer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 64 ビットの win フォーム csharp での画面の歪み
Tabpage 内で分割コンテナーを使用しました。win7 i5を搭載したラップトップを除いて、どこでも問題なく動作しています。他のwin 7ラップトップをチェックインしましたが、正常に動作します. 問題は、ウィンドウを復元して最大化すると、分割されたコンテナーのサイズが変更されず、空白が残ることです。
問題が何であるかを突き止めました: 1. 問題は 64 ビット マシンにあります。 2. タブ コントロールのサイズ変更イベントが呼び出されません。3. mdi フォームで明示的にサイズ変更したところ、問題は解決したように見えますが、. 時間がかかり、サイズ変更が見られます。それはシームレスでなければなりません。4. 一時的な解決策です。それについて助けてください
c# - SplitContainer パネルのサイズ変更の問題
一般的な問題
アプリケーションは C# WinForms .Net 4.0 です。
フォームの大部分を占めるがSplitContainer
あります。すべての方向にアンカーに設定されているため、フォームに合わせてサイズが変更されます。左側のパネル (Panel1) にはシンプルなメニューがあり、ここでは問題ありません。右側のパネル (Panel2) はより複雑で、多数のネストされたタブ コントロール (多くのコントロールを含む) が含まれています。これは非常に複雑ですが、変更されていません。
問題は、フォームのサイズ変更がうまく機能しないことです。実際、エッジをゆっくりとドラッグしてサイズを変更すると問題なく動作しますが、すばやくドラッグするか、「復元」ボタン (フォームの右上) を使用すると問題が発生します。
私のコントロール階層
以下は、私のコントロール階層の簡単な例です。間違いなく削減されたバージョンですが、複製に役立つネストされたタブ コントロールが強調表示されています。
- 形
- 分割コンテナ (アンカー: 上、左、下、右)
- SC Panel1 (最小幅: 300)
- TreeViewControl (名前は忘れてください)
- SC パネル 2
- パネル (アンカー: 上、左、下、右)
- タブ コントロール (アンカー: 上、左、下、右)
- 画面をオーバーフローし、ナビゲーション ボタンを右上隅に表示する必要があるページが多数あるタブ コントロール (アンカー: 上、左、下、右)
- タブ コントロール (アンカー: 上、左、下、右)
- パネル (アンカー: 上、左、下、右)
- SC Panel1 (最小幅: 300)
- 分割コンテナ (アンカー: 上、左、下、右)
デバッグの詳細
いくつかのデバッグの後、実際にはPanel2
(分割コンテナーの子) が適切にサイズ変更されていないように見え、実際のSplitContainer
サイズ自体は正常にサイズ変更されます。
これを示すデバッグ値は次のとおりです...
サイズ変更前の全幅フォーム:
すべて予想通り、splitContainerMain.Panel2.Width
より小さいですsplitContainerMain.Width
。
問題が発生する場所のサイズを変更した後:
ご覧のとおり、splitContainerMain.Width
は希望どおりにサイズ変更されていますが、splitContainerMain.Panel2.Width
とその後の子は変更されていません。
注:フォームのサイズを手動でゆっくりと変更すると、幅が正しく更新されることを覚えておいてください。これは、アンカーを正しく設定していなくても問題ありません。
これまでの取り組み
私がやろうとしたことは、さまざまなフォームのサイズ変更イベントを使用して、幅を手動で設定しようとしましたが、役に立ちませんでした。私が試したいのはPanel2.Width
、何らかのイベント内から値を設定することだと思います。
私が探しているもの
- サイズが変更されたときに強制的
splitContainerMain.Panel2.Width
に正しくsplitContainerMain
サイズ変更する方法はありますか? - あるいは、どうある
Panel2.Width
べきかを計算するにはどうすればよいですか?Form.Resize
また、イベントからその値を設定するにはどうすればよいですか? (それとも別のイベント?)
c# - splitContainer.Panel2 の下にあるすべてのボタンとラベルを取得する方法
splitContainer.Panel2 の下にあるすべてのボタンとラベルの背景色を取得したいと考えています。試してみると、(Panel2の下の)どのコントロールでも実行できないことがわかりました。次のコードを試します:
splitContainer.Panel2 の下にあるすべてのラベルとボタンのすべての背景色を取得するにはどうすればよいですか?
編集:
- splitcontainer.Panel2 にいくつかのパネルがあり、ボタンとラベルはパネルにあります。
- 「Name: panel_Right Back Color: Color [Transparent]」というメッセージしか表示されません。
iphone - セグエを使用して後方に移動するときにコンテナ ビューをリロードするにはどうすればよいですか?
Xcode では、UIViewController に 2 つのコンテナー ビューが実装されています。モーダル セグエを使用して、正しく読み込まれる 1 つのビューを前方に移動します。私の問題は、前のページに戻ったときに、他のコンテナー ビューが自動的にリロードされないことです。
戻るときにこのコンテナを手動で強制的にロードするにはどうすればよいですか?
注: このページに進むと正しく読み込まれますが、問題が発生するのは後方に移動するときだけです。
かなりの数のオプションを調査しましたが、これを行う方法の明確な例が見つかりません。
c# - winform ウィンドウのサイズ変更動作をオーバーライドする
私はwinformウィンドウを持っています。画面のサイズを変更すると、画面がすぐに拡大または縮小します。
ウィンドウのサイズ変更動作がSplit Containerのようになることを希望します。マウスをドラッグする限り、ウィンドウ サイズを示す線のみが表示され、サイズ変更操作を終了するときにのみ実行されます。
ウィンドウのフレームを非表示にしてから、ウィンドウ自体をクリックしてフレームをペイントすることで、それを示す例をいくつか見ました。
ウィンドウではなく、ウィンドウのフレームをクリックして(フレームを非表示にしたくない)、それが必要です。
これを行う方法はありますか?(何らかの方法でサイズ変更の動作をオーバーライドする場合があります)。
visual-studio-2010 - C#でのユーザークリック時のカスタムパネルの再設計
Visual Studio 2010 の WinForm で C# を使用しています。10 個のリッチテキスト ボックスを含むカスタム パネルを作成しました。各リッチテキスト ボックスは、カスタム パネルのテーブル内の列を参照します。カスタムパネルは、実行時に分割コンテナ内にロードされます。ユーザーがカスタムパネルをクリックすると、サイズが半分に縮小されますが、特定のテキストボックスは 4 つしかありません。これどうやってするの?要約すると、ユーザーがクリックしたときにテキストボックスを 10 個から 4 個に減らすには、custompanel が必要です。助けてくれてありがとう。