- - PR -
ユーザーコントロールの画面配置時の移動
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-02 16:44
ユーザーコントロールを作成し、
画面に貼り付けると左上から動きません。 他のサーバーコントロールは好きに動かせます。 なぜでしょうか? | ||||||||
|
投稿日時: 2003-12-02 18:01
kenkenさん、こんばんは。
えーと、これだけの情報ですと、「そういう風に作ってないから」としか答えようがありません(ちょっと意地悪&エラソーですけど)。 取り敢えず、Webサーバー コントロールの話なのかWindowsフォーム コントロールの話なのか、使用言語とか開発環境とか、現象を再現させる必要最低限のコードとか、そういった情報を記載すれば、きっと誰かしらフォローしてくれると思いますよ。 | ||||||||
|
投稿日時: 2003-12-02 18:08
きくちゃんさん返信ありがとうございます。
何も書いてなくて失礼致しました。 ・Webフォームで作成しています。 作成手順 1)ユーザーコントロールにドロップダウンリストボックスを追加(配置)する (UC_DDLB.ascxとします) 2)WebForm.aspxにUC_DDLB.ascxを追加(配置)します 3)配置したUC_DDLB.ascxは画面の左上から移動できない このような状況です。 | ||||||||
|
投稿日時: 2003-12-02 19:04
kenkenさん、こんばんは。
取り敢えず、WebForm.aspx をHTMLビューに切り替えて、配置したユーザーコントロールを表すタグ内に、style="POSITION: absolute" と入力してデザインビューに切り替えてみて下さい。マウスで好きな場所にドラッグ出来るはずです。 但し、このままだと実行時に期待する場所にレイアウトされないと思います。 ユーザーコントロール内に子コントロールを配置する際には、フローレイアウトでtableとかpanelとかを用いてレイアウトを調整し、ユーザーコントロールのLoadイベント等で
を記述すれば、実行時に、デザインビューで指定したレイアウト情報が反映されるはずです。 | ||||||||
|
投稿日時: 2003-12-02 19:57
きくちゃんさんありがとうございます。 早速やってみました。 出来ました!! ありがとうございました。 しかし、こんなにしないと出来ないなんて・・・・ | ||||||||
|
投稿日時: 2003-12-02 21:34
[ツールボックス]-[HTML]の「Grid Layout Panel」を使えば、コントロールを好きに動かせるようになります。
# 以下、余談。。。 ただ、この方法にしろきくちゃんさんご提示の方法にしろ、なぜ好きに動かせるようになるのかは、じっくりと理解しておいたほうがよいと思います。 (そのためには、HTMLやCSSの知識が必須です。) この掲示板を『Grid Layout(すべてが含まれる投稿を検索)』で検索してみるのもよいかもしれません。 Grid Layout PanelがWebフォームに分類されていない理由について考えてみるのもよいかもしれません。 | ||||||||
|
投稿日時: 2003-12-03 08:48
だって、そんな風にしないとできないように作っているんだもん(笑) 失礼。kenkenさんにとっては驚きかもしれませんが、Webの本来の技術を考えると、至極まっとうです。Webは元々、「テキストベースで動く」ところから始まっていますから、本来は「表示場所を示す」なんてことはできないのです。また、複合コントロールになりますから、「全体」として場所を示すのか、それとも「個々」の場所を示すのか、わかりませんしね。逆に言うと、そういうことを示すことができるような柔軟性がある、わけです。 スタイルの追加は、ascxにプロパティとそれを処理するコードを追加してやれば、「そんな風」にしなくてもいいですよ。具体的には、locationプロパティの追加と、ベースとなるページのPageLayoutプロパティによってabsoluteにするかどうかを判断し、スタイルを追加する。←そういう「作り込み」が「そんな風」? ###以下余談 歴史的背景や技術的背景を知らなくても「プログラミング」できることがマイクロソフト社の開発製品の強みですが、しかし、ねぇ。。。 と、偉そうなことを言えたもんでもないが。。。 | ||||||||
|
投稿日時: 2003-12-03 18:09
Jittaさん、こんばんは。
今のところ、その辺がまだ中途半端というか、「ほどほど」だったりするんで、こうやって「何故でしょう?」「どうすれば出来るでしょう?」という疑問が出てきて、裏側で何が行われているのかを理解するチャンスに繋がっているのかも知れません。 まあ、探求心とか好奇心とかの強さにもよりますけど。 |
1