向Panel动态添加控件,精确定位问题,各位无论如何也要看看,帮我解决这个问题,谢谢!

GumPGZ 2002-07-24 06:51:44
我尝试了向好几种容器中动态添加控件方法.

其中只有向form中添加是正确的,其他全是混乱不堪

以table和Panel为容器的情况几乎是一样的,我向其中添加多个TextBox
设置TextBox的坐标(left,top),和position的值,如果position=absolute的话,
那么TextBox就会以Form,注意而不试Panel或Table为容器动态添加成功,
而且排序规整,这时,这些TextBox看起来是浮在Table或Panel 上面一样,但是我要的是把他添加到Panel和Table中阿.如果我设置position=relative的话,那么TextBox虽然能添加到Table或Panel中,但是却是混乱不堪.

注:我的容器全是runat=server的

因为我的页面中有动态添加控件和非动态添加控件两种,所以我想用两个容器将他们隔开,美化页面,我该怎么作呢?

动态添加的控件有TextBox和Lable,他们的属性信息写在数据库中,是没法修改的.
因此我必须把这些动态控件添加在A容器中,把那些手动添加的放在B中,
不能让他们混在一起.

请教各位我该怎么办呢?

如果我的问题还没说清楚,您还没理解,请留言,我会为您解释,我只是想解决这个问题.非常强烈的想!!

谢谢各位!
...全文
583 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
minttang 2002-09-03
  • 打赏
  • 举报
回复
gz!
GumPGZ 2002-07-25
  • 打赏
  • 举报
回复
up
GumPGZ 2002-07-25
  • 打赏
  • 举报
回复
up
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
看什么,我什么都试了
gplg 2002-07-24
  • 打赏
  • 举报
回复
用TEXTBOX1.Style["position"]="relative"看看。
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
那是坐标
gplg 2002-07-24
  • 打赏
  • 举报
回复
Thank you!但不知你的上下排放是什么意思,或要摆成个什么样子?我觉得好象已经可以做出来的了。
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
TEXTBOX1.Style["left"]="100px";
TEXTBOX1.Style["top"]="100px";
gplg 2002-07-24
  • 打赏
  • 举报
回复
顺问一下,上述向DIV中添加控件是可以,但要把TEXTBOX在DIV中定位怎么做?
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
头,我是想这样

在一个页面中,放两个容器,上下放,就以Panel1(上)和Panel2(下)作为这两个容器:
在Panel1中放置固定控件,比如TextBox和Label等,
在Panel2中动态添加控件,让这些控件在Panel2中排列有序.

你所给的代码,我试了一下,如果不使用Panel,使用div的话,
动态添加排序很有序,但是我想实现上下排放就南了阿!

也就是说使用div和使用form是一样的效果.
我把div再添加到Panel2也是不行的阿

这是老板非要这种界面,我也没办法.
icyer 2002-07-24
  • 打赏
  • 举报
回复
HtmlGenericControl div = new HtmlGenericControl("div");
div.Style.Add("background", "red");
div.Style.Add("width", "100px");
div.Style.Add("height", "100px");

TextBox txt = new TextBox();
txt.Width = Unit.Pixel(50);
div.Controls.Add(txt);

this.Controls[1].Controls.Add(div);
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
我添加了
<asp:Panel id="Panel1" runat="server" Width="767px" Height="513px"><div runat=server id="myDiv"></div></asp:Panel>

可我不知道怎么用阿?
如果单是Panel的话:Panel1.Controls.Add()就成了

多了div我不知道怎么用了
mmkk 2002-07-24
  • 打赏
  • 举报
回复
哦...那倒是个不错的主意-_-
icyer 2002-07-24
  • 打赏
  • 举报
回复
试试先在Panel里面添加一个<div>,然后再把那些控件添加到<div>里面。
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
如果容器是form,即以页面为容器,
我做到了,而且非常完美
mmkk 2002-07-24
  • 打赏
  • 举报
回复
我不知道C/S中是否也有position=relative这样的概念,不过如果你想通过共享left,top,这些数据来达到跟C/S一样的效果似乎不太可能.
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
终于找到一个兄弟
wolfAone 2002-07-24
  • 打赏
  • 举报
回复
我UnderStand,但是我也郁闷Panel里放置控件怎么没有Delphi里那么自由,爽?呢。
GumPGZ 2002-07-24
  • 打赏
  • 举报
回复
你理解错了,我的控件是不定的,我也不知道他到底在何处,
比如TextBox的属性信息:top,left,text,id等全写在数据库中,
我读出这些属性,然后在网页中动态生成.

背景:我的项目是c/s和b/s同时开发的,我的伙伴作c/s,我们都要使用
这些信息,都要动态生成.

understand?
mmkk 2002-07-24
  • 打赏
  • 举报
回复
为什么不使用表格定位,任何一个页面,除非结构非常简单,否则我都会使用表格来定位,而且一律去掉style="top:100;left:100;position:absolute..."这些代码

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧