如何设置和获得控件相对于Canvas的位置
private void AddCanvasControl(List<string> aTypeStrList)
{
int aLocationX = 0;
int aLocationY = 0;
rCanvas.Children.Clear();
foreach (string aStrType in aTypeStrList)
{
Button aBtn = new Button();
aBtn.Content = aStrType;
aBtn.Height = 20;
Font f = new Font("SimSun", 7F, System.Drawing.FontStyle.Regular);
System.Drawing.Size aSize = System.Windows.Forms.TextRenderer.MeasureText(aStrType, f); //获得字符在控件中显示的尺寸
aBtn.Width = aSize.Width + 20;
aBtn.HorizontalAlignment = HorizontalAlignment.Left;
rCanvas.Children.Add(aBtn);
if (aLocationX + aBtn.Width > rCanvas.RenderSize.Width)
{
aLocationY += 25;
aLocationX = 0;
}
Canvas.SetLeft(aBtn, aLocationX); //设置按钮在容器中的位置
Canvas.SetTop(aBtn, aLocationY);
aLocationX += (int)aBtn.Width + 10;
}
}
{
int aLocationX = 0;
int aLocationY = 0;
rCanvas.Children.Clear();
foreach (string aStrType in aTypeStrList)
{
Button aBtn = new Button();
aBtn.Content = aStrType;
aBtn.Height = 20;
Font f = new Font("SimSun", 7F, System.Drawing.FontStyle.Regular);
System.Drawing.Size aSize = System.Windows.Forms.TextRenderer.MeasureText(aStrType, f); //获得字符在控件中显示的尺寸
aBtn.Width = aSize.Width + 20;
aBtn.HorizontalAlignment = HorizontalAlignment.Left;
rCanvas.Children.Add(aBtn);
if (aLocationX + aBtn.Width > rCanvas.RenderSize.Width)
{
aLocationY += 25;
aLocationX = 0;
}
Canvas.SetLeft(aBtn, aLocationX); //设置按钮在容器中的位置
Canvas.SetTop(aBtn, aLocationY);
aLocationX += (int)aBtn.Width + 10;
}
}
相关内容
最新更新
- 农业银行信用卡怎么直接转人工服务
- 如何堵塞招投标各个环节制度漏洞
- 如何提高文科在理工大学中的地位
- 双子座的星云是什么样子的?有什么传说吗
- 从事夜班工作的劳动者企业实行标准工作时间的工时制度即每日工作可以少于8小时吗?
- SVN更新失败,提示locked 怎么破
- 珠海申办环保资质有哪些要求?要提交哪些材料
- 安装和使用microsoft另存为pdf或xps加载项在哪里找
- 12钢铁是怎样炼成的分章练习
- 王者荣耀28号明星福利怎么领
- sscom5.13.1支持xp吗
- 求夏目友人帐的电脑桌面主题!!!最好是猫老师的!!!614522404@qq.com 谢谢!!满意会加分哦!!!
- 邓垦逝世享年多少岁?
- 有什么软件类似容器APP的 能够添加手机文件夹里apk安装包 我的手机安装不了容器
- mac装双系统没用u盘 驱动怎么办
- 如何判断expect中调用的命令是否成功
- 家园共育的重要性
- 在c语言中,char a[2] ,能存几个字符?(一个还是两个字符)
- 猜你喜欢
-
- 如何利用反编译软件打开并修改class文件
- 现在买b150主板如果装7代cpu,需要刷bios吗?
- 求个3D电影的格式转换器,最好是红蓝的就可以啦!
- 如何将本地代码通过git上传到码云
- 锤子坚果pro有什么特别的地方?
- 请问:有谁知道,少则300,多则500是什么意思??这句话中的:则是什么意思??谢谢!
- C语言中用scanf返回值判断时,如果输入一个函数,例如int a;
- mrc5细胞与其它细胞有何不同
- 我想用98块买一个吃鸡游戏,值得吗?我之前玩cf的。感觉不好玩,想练练吃鸡游戏,
- 离婚诉讼我是被告,第一次开庭我去了没被判离婚,第二次法院传票收到了,可是我在外地工作去不了怎么办?
- 求一部网游小说,名字忘记了。只知道里面男主是重生的,重生之前是个背信弃义的人。
- 高尔夫 嘉旅 100公里 油 多少
- 水利基本建设财务资金管理办法 仍然执行吗
- 有没有办法 把mysql的数据同步到mongodb上面
- 联想ideapad 700s-14isk怎么样
- 电动车EN15194认证EPAC是强制认证吗
- 如何建立Navigation Stack
- 声母k的笔顺
- 电脑播放本地1080P视频会卡
- 工程测量说的三等以下,四等以下是什么意思?