2011-06-20 10 views
4

カスタムオーバフロー、MSDN、Googleで検索しても問題が発生しませんでした。私は経験しています。C#ユーザーコントロールのグラフィカルな問題 - コンポーネントのサイズが不明確になる

私は、非常に単純なユーザーコントロールを持っています。ラベル、テキストボックス、およびボタンで、SaveFileDialogとFolderSelectDialogが利用できます。テキストボックスとボタンは、それぞれコントロールのサイズが大きくなると、テキストボックスがギャップを埋めるように拡大され、コントロールの右端にボタンが残りますという意図で、それぞれLeft、Right、Rightの固定状態になります。

私が遭遇している問題は、コントロールが拡大されると、プロジェクトのビルドと実行時にコントロールのデフォルト幅の右側の領域が空白になります。写真はここで私が何を意味するか説明します:エディタで

in editor

実行中:私はそれを追加するとき

running

コントロールがデザインウィンドウに小さめですが、それを意図したとおりに動作させることができます。しかし、コントロールを追加したフォームを実行すると、コントロールの半分は表示されません。

私はかなり簡単なものを見落としていると思われますが、私は検索でこの点に対処するものは何も見つかりませんでした。ヘルプは非常に高く評価されます。

+0

私はあなたのためにイメージをインライン化しました。 – adrianbanks

+0

Spy ++の「ウィンドウの検索」機能を使用します。カーソルをアプリケーションの周りにドラッグすると、それが識別され、(赤いボックスで)強調表示され、すべてのコントロールが詳細に表示されます。あなたの編集ボックスの大きさと実際のものをカバーしているものがあれば教えてください。 –

+0

@ジョンこのヒントをありがとう - Spy ++を使用していなかったので、それが存在することを知っておくと良いです。残念ながら、テキストボックスの右半分が灰色で表示されている部分にマウスを移動すると、トップレベルのフォームとして識別され、別のオブジェクトが「カバー」していることがわかりませんコントロール。 – asfallows

答えて

0

私の推測では、あなたのコントロールに追加されたパネルや何かがランタイムの前に持ち込まれることでしょう。

プロパティウィンドウの上部に、ユーザーコントロールのすべてのコントロールを選択できるコンボがあります。

すべてのコントロールが必要な場合はチェックしてください。

あなたはそのパネルか何かがそれを削除見つける場合:)

EDIT: 大丈夫、これはあなたの問題ではありませんでした。

私はあなたのユーザコントロール、すなわちそのコンストラクタにいくつかのマニュアルサイズを設定したと仮定できます。その場合、設計者はユーザーコントロールの正しいサイズを表示します。

コードの他の場所に、ユーザーコントロールのサイズを再度手動で設定しました。レイアウトが中断されてサイズが変更された場合、アンカーされたコントロールのサイズは自動的に変更されないと私は思っています。

これが問題の場合は、見つけにくいでしょう。

+0

ありがとう、私のコントロールをダブルチェックし、テキストボックス、ラベル、およびボタンがコントロール内の唯一のオブジェクトであり、ユーザーコントロールは、フォームをテストしたときにフォーム上の唯一のオブジェクトでした。 – asfallows

+0

@kaldrenonパネルのようなものがコントロールを覆っています。あなたのフォームの周りを何か探してみてください。 – LarsTech

+0

@kaldrenon:私はいくつかの編集を投稿しました。それは助けてくれるでしょう:) –

関連する問題