C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 継承後フォームでテーブルレイアウトパネルを配置


(過去ログ 134 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■79316 / inTopicNo.1)  継承後フォームでテーブルレイアウトパネルを配置した時の問題
  
□投稿者/ Sola (1回)-(2016/03/21(Mon) 13:58:03)

分類:[VB.NET/VB2005 以降] 

以下を解決したいと思っております

よろしくお願い致します

環境は以下になります
OS:Windows 7 32bit
言語:VB.net
.Net:4.6
形態:Windows フォーム

1.現状
画面共通のレイアウトとして、一番下に画面共通で使用するボタンがいくつかあります
そのため、ベースとなるフォーム(以下ベースフォーム)を作成し、それに共通で使用するボタンを配置しました
(共通で使用するボタンはユーザコントロールにしています)

継承先の各画面ではコントロールを配置する際、位置を揃えるためにテーブルレイアウトパネルを使用したいと考えています
しかし、継承先の各画面でテーブルレイアウトパネルを追加し、DockプロパティをFillに設定すると、
ベースフォームに配置した共通のボタンの上にまでテーブルレイアウトパネルが重なり、ボタンが隠れてしまいます

2.やりたいこと
継承先の各画面でテーブルレイアウトパネルをDockプロパティFillで配置した時、
ベースフォームの共通のボタンを隠れないようにし、テーブルレイアウトパネルの領域をボタンの上までにしたい

3.試したこと
ベースフォームにテーブルレイアウトパネルを配置してあらかじめ各画面用の領域とボタンの領域を分割
 &#8667;継承後の各画面でコントロールを配置できない
  MSDNを確認したところできない仕様らしい


わかりにくいかと思いますが、イメージ
┌-----------┐
|継承後の  |
| 各画面用 |
|-----------|
| ボタン   |
└-----------┘

引用返信 編集キー/
■79329 / inTopicNo.2)  Re[1]: 継承後フォームでテーブルレイアウトパネルを配置
□投稿者/ daive (91回)-(2016/03/22(Tue) 09:24:54)
2016/03/22(Tue) 09:32:05 編集(投稿者)

テストだから、可能であれば、新規プロジェクトか、捨てても良い新規フォームを作成して、試します。

方法として出来るかもしれない例
1.TableLayoutPanel 内のセルへ Panel を張付けて、さらに、Panel へユーザーコントロールを張付ける
  TableLyoutPanel ⇒ Panel ⇒ UserControl何某 の様に入れ子にしてみる。

2.TableLayoutPanel の大きさを決めた後に、
  TableLayoutPanel の範囲外に、UserControl何某を配置した後に、
  カーソルキーで、TableLayoutPanel 内に移動してみる
  FormControl には、Z order がある事を利用する。
  但し、TableLayoutPanel と、UserControl何某は別々な存在、見てくれだけ
引用返信 編集キー/
■79340 / inTopicNo.3)  Re[2]: 継承後フォームでテーブルレイアウトパネルを配置
□投稿者/ Sola (2回)-(2016/03/23(Wed) 01:11:56)
No79329 (daive さん) に返信
> 2016/03/22(Tue) 09:32:05 編集(投稿者)
>
> テストだから、可能であれば、新規プロジェクトか、捨てても良い新規フォームを作成して、試します。
>
> 方法として出来るかもしれない例
> 1.TableLayoutPanel 内のセルへ Panel を張付けて、さらに、Panel へユーザーコントロールを張付ける
>   TableLyoutPanel ⇒ Panel ⇒ UserControl何某 の様に入れ子にしてみる。
>
> 2.TableLayoutPanel の大きさを決めた後に、
>   TableLayoutPanel の範囲外に、UserControl何某を配置した後に、
>   カーソルキーで、TableLayoutPanel 内に移動してみる
>   FormControl には、Z order がある事を利用する。
>   但し、TableLayoutPanel と、UserControl何某は別々な存在、見てくれだけ

回答ありがとうございます

しかし1,2共にいまいちイメージが湧きませんので可能でしたら例などをいただけますでしょうか
引用返信 編集キー/
■79341 / inTopicNo.4)  Re[3]: 継承後フォームでテーブルレイアウトパネルを配置
□投稿者/ daive (92回)-(2016/03/23(Wed) 09:02:16)
> しかし1,2共にいまいちイメージが湧きませんので可能でしたら例などをいただけますでしょうか
例示していますが?
掲示板で、文字で例示をしていて、解らないとは?
何処が判らないのでしょうか?
例えば、手取足取り例をお望みですか?
今回だけ特別に、
1.既存プロジェクトへフォームを追加します、または新規プロジェクトを開きます。
  この時のフォーム名:Form1 とします。
2.Form1 へ、テーブルレイアウトパネルを張付けます。
  この時のテーブルレイアウトパネル名:Tablelayoutpanel1
  初期状態は、2×2のマトリックスです。
3.Tablelayoutpanel1の左上のセルをクリックして、パネルを張付けます。
  このときのパネル名:Panel1
4.Panel1 をクリックして、貴方が配置したいユーザーコントロールを張付けます。
  このときのユーザーコントロール名:名称不明に付、UserControl1
5.Tablelayoutpanel1 にかからない場所へ(Form1 の範囲:右端でも左端でも)
  ユーザーコントロールを配置します。
  大きさは、Tablelayoutpanel1のセルサイズ位にしておきます。
  この時のユーザーコントロール名:名称不明に付、UserControl2
6.UserControl2 をクリック後に、カーソルで、Tablelayoutpanel1の
  右下のセル部分へ持っていきます。
5.実行してみて、
  Tablelayoutpanel1 ⇒ Panel1 ⇒ UserControl1
  の構造を確認します。
  見てくれ用の UserControl2 が、Tablelayoutpanel1 に
  乗っているのを確認します。
7.Panel1 の、Scroll系のプロパティを表示するように設定して、
  Scroll バーの移動によって、
  UserControl1 が移動するのを確認します。
  Panel1 の仮想サイズ内で、UserControl1が、自由な大きさでスクロール可能な事を確認します。
ここまで書きましたが、空で書いていますので、手順が違っているかどうかは、自身で確認してみてください。
依頼により作業をしましたので、報酬を要求します。
私への報酬は、、
何時、何処で、誰が、何を、どのように、どうした、結果どうなった、そしてどうした、
を書いて、報告してくれる事です。
それを書込みする事が、掲示板というコミュニティへの、質問者さんの貢献になります。
技術系掲示板では、極論としては、「ありがとうございました」(これはこれで嬉しいのですが)、「すみません」などは、貢献ではありません。ノイズです。
それよりも、何がわからないのか、何をどうしたいのか、何がどうした、何をどうした、結果どうした、どうなったを
書いてくれる事が、返事としては、適切だと思っています。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -