分類:[ASP.NET (C#)]
[環境]VisualStudio2005 ASP.NET(C#) + AjaxExtenstions
こんにちは
現在ASP.NET+C#で機器の配置図の表示を考えています。
イメージとしては、背景に簡易地図が表示され、その上に機器のアイコンが表示(簡易地図より前面に表示される)されるようなものです。
ここで背景および機器アイコンはImageコントロールを使用しようとしています。
機器アイコンは設定により位置変更できるようにするために、コードで作成します。
画面上では、Panelコンポーネントを配置して、その中に背景用Imageコントロールを配置しています。
Panelを置いているのは、配置図表示エリアを固定にして、背景用Imageが大きなものになっても、
ブラウザのページ全体をスクロールすることなくPanelのスクロールバーで表示箇所を移動することができると考えたからです。
機器アイコンはコードで以下のように作成しています。
背景図を格納するパネルをMapPanel
地図イメージをMapImage
作成するアイコンをICONとしています。
MapImage.ImageUrl = "map.jpg";
System.Web.UI.WebControls.Image ICON = new Image();
ICON.ImageUrl = "aaa.jpg";
ICON.ID = "ICON";
ICON.Style["Position"] = "Absolute";
ICON.Style["Top"] = "100px";
ICON.Style["Left"] = "150px";
ICON.Style["Zorder"] = "10";
MapPanel.Controls.Add(ICON);
ここで質問です。
MapImageサイズがMapPanelより大きい場合スクロールバーが表示され、希望の動作としては
MapImageに重ね合わせたICONがスクロールに連動してもらいたいのですが、Absolute指定した時点で、
MapPanelから切り離されてしまい、連動しません。
Absolute指定しなければ、MapPanelのスクロールバーに連動しますが、今度はMapImageと重ね合わせ
ICONを表示することができません。
何かうまい解決法はないでしょうか?
それとも根本から間違っているでしょうか?
|