首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 窗口中的控件问题 50分 [已结贴,结贴人:lwj_pp]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-16 13:53:25 楼主
    设计的是一个非最大化的窗口,要求最大化后,控件大小随之改变,不用 通过设置控件的Anchor属性的方法(panel设置Anchor属性就不能正常显示),需要各位提供的代码提示,谢谢!
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Tll_W
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 13:55:131楼 得分:0
    panel设置Anchor属性就不能正常显示
    -----------不懂,panel还有这个问题吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:07:042楼 得分:0
    引用 1 楼 Tll_W 的回复:
    panel设置Anchor属性就不能正常显示
    -----------不懂,panel还有这个问题吗?


    不是不能正常显示,大哥,我的意思是显示的位置不对,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinjazz
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 5

    发表于:2008-05-16 14:08:093楼 得分:0
    Anchor是最好的解决办法,如果你自己写也和Anchor效果一样的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rockyvan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:12:234楼 得分:0
    僅供參考:http://blog.csdn.net/loveme1204/archive/2007/12/24/1964577.aspx
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:14:245楼 得分:0
    引用 3 楼 jinjazz 的回复:
    Anchor是最好的解决办法,如果你自己写也和Anchor效果一样的。


    但是我设置panel的Anchor,显示的位置也不对啊 ,还有如果picturebox也这么设置,就更不对了啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:15:086楼 得分:0
    引用 4 楼 rockyvan 的回复:
    僅供參考:http://blog.csdn.net/loveme1204/archive/2007/12/24/1964577.aspx



    感激  先
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:16:237楼 得分:0
    在窗体的resize事件中写代码啊,调整控件的大小就可以了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Fanks
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:30:178楼 得分:0
    可以通过使用tablelayerpanel和控件的dock属性来实现,不过比Anchor要费很多事啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wwlprince
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:36:289楼 得分:0
    同意7楼
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • BIGBIRDINWOODS
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 15:01:2110楼 得分:0
    Resize()事件里面调整。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 15:05:2511楼 得分:0
    引用 10 楼 BIGBIRDINWOODS 的回复:
    Resize()事件里面调整。。。。。。。。。。。。。。。。。。。。。。。。。。。。。



    谢谢李连杰,我知道在那里写,我需要点代码提示,我自己写不出来
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rockyvan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 15:31:4412楼 得分:0
    4樓結合這個網站:http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx
    翻譯不一定很准,你稍微微調下。經測試可用。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 15:44:3613楼 得分:0
    我调下,有什么好的方法,指教一下,谢谢了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baihe_591
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:03:2214楼 得分:0
    C# code
    private void setTag(Control cons) { foreach (Control con in cons.Controls) { con.Tag = con.Width +":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size; if (con.Controls.Count > 0) setTag(con); } } private void setControls(float newx, float newy, Control cons) { foreach (Control con in cons .Controls ) { string[] mytag = con.Tag.ToString().Split(new char[] { ':' }); float a = Convert.ToSingle(mytag[0]) * newx; con.Width = (int)a; a=Convert.ToSingle(mytag[1]) * newy; con.Height = (int)(a); a=Convert.ToSingle(mytag[2]) * newx; con.Left = (int)(a); a=Convert.ToSingle(mytag[3]) * newy; con.Top = (int)(a); Single currentSize = Convert.ToSingle (mytag[4]) * newy; con .Font =new Font (con.Font .Name ,currentSize,con.Font .Style ,con.Font .Unit ); if(con.Controls .Count >0) { setControls (newx ,newy ,con ); } } } void Form1_Resize(object sender, EventArgs e) { // throw new Exception("The method or operation is not implemented."); float newx = (this.Width )/ X; // float newy = (this.Height - this.statusStrip1.Height) / (Y - y); float newy = this.Height / Y; setControls(newx, newy, this); this.Text = this.Width.ToString() +" "+ this.Height.ToString(); }


    翻译的一篇BLOG,但是注意statusStrip1之类的,自己修改把.
    form_load中添加
                this.Resize += new EventHandler(Form1_Resize);

                X = this.Width;
                Y = this.Height;
                y = this.statusStrip1.Height;
                setTag (this);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baihe_591
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:04:1215楼 得分:0
            public float  X;
            public float  Y;
            public float y;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baihe_591
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:05:1716楼 得分:0
    其实3楼说的很有道理,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:17:2017楼 得分:0
    把控件的左右上下距离父窗体的大小设定成固定值就可以!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:35:0318楼 得分:0
    实现了,永久保留
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwj_pp
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:36:0819楼 得分:0
    4楼结合14楼就能实现,效果非常好,保留
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rockyvan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 09:16:2120楼 得分:0
    引用 19 楼 lwj_pp 的回复:
    4楼结合14楼就能实现,效果非常好,保留

    呵呵!可以結帖了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • net0003
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-20 10:52:0021楼 得分:50
    该回复于2008-05-20 15:56:46被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 3

    发表于:2008-05-20 15:57:1022楼 得分:0
    删除倒分回复,关XHW
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • baihe_591
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-20 20:58:1423楼 得分:0
    楼主不公平啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • simson2010
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-22 15:35:0124楼 得分:0
    为什么手动拉放窗口却不能用呢?
    Anchor不会缩放字体,而14楼的会缩放字体,不错...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • simson2010
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-22 15:48:5925楼 得分:0
    建议把float  newx = (this.Width )/ X;
    写成 float newx = (float)(this.Width) / (float)X;
    否则在手工拉放时比例始终是1
    另外,如果手工拉申方法来缩小窗口,设置字体时会有异常.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved