C#怎样让tablelayoutpanel中控件居中显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎样让tablelayoutpanel中控件居中显示相关的知识,希望对你有一定的参考价值。

我的控件是在后台动态生成的,请问怎么用代码设置

从“工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。
将 Button 控件从“工具箱”拖到 TableLayoutPanel 控件左上部的单元格中。 Button 在单元格中居中。
将 Button 控件的 Anchor 属性值设置为 Left,Right。 Button 控件将拉伸到与单元格的宽度相符。
将 Button 控件的 Anchor 属性的值设置为 Top,Bottom。 Button 控件将拉伸到与单元格的高度相符。
将 Button 控件的 Dock 属性值设置为 Fill。 Button 控件将扩展到填满单元格。
将 Button 控件的 Dock 属性值设置为 None。 Button 控件将恢复到原始大小并移动到单元格的左上角。 “Windows 窗体设计器” 已将 Anchor 属性设置为 Top, Left。
将 Button 控件的 Anchor 属性值设置为 Bottom,Right。 Button 控件将移动到单元格的右下角。
将 Button 控件的 Anchor 属性值设置为 None。 Button 控件将移动到单元格的中心。
参考技术A tablelayoutpanel
设置tablelayoutpanel中控件的anchor属性为none,搞定!
知道怎么设置成None么?就是取消上下左右的anchor
如果你要填满的话,然后在设置其中控件的dock属性为fill就可以了
生成的时候来设置撒
Button btn = new Button();
btn.Anchor = AnchorStyles.None;
btn.Dock = DockStyle.Fill;//根据你需要来选择
tableLayoutPanel1.Controls.Add(btn);
这个是生成的时候处理,
如果已经生成了,那么你可以后面再修改
注:tableLayoutPanel1.Controls.OfType<Control>()查找所有控件
tableLayoutPanel1.Controls.OfType<Button>()//只查找按钮控件
foreach (Control bt in tableLayoutPanel1.Controls.OfType<Control>())

bt.Anchor = AnchorStyles.None;
bt.Dock = DockStyle.Fill;//根据你需要来选择

修改个别的控件
Control[] ct=tableLayoutPanel1.Controls.Find("控件名称");
然后遍历就是了!!
参考技术B lab.Anchor = System.Windows.Forms.AnchorStyles.None;
lab.AutoSize = true;

C# wpf 想让控件随着窗口大小变化而变化

wpf 想让控件随着窗口大小变化而变化
就像winfrom里面的Dock=Fill 一样的效果
请问前台代码怎样实现呢?

那你可以采用Grid按照比例来布局,然后把控件的宽和高设置成Stretch填充就可以了追问

这个行不通了
请问是那个属性呢? Height 和 Width 属性 不能直接设置 Stretch

追答



追问

这个还是没看懂 那里有 设置了控件跟随改变而改变的属性

参考技术A wpf里面有一个DockPanel,用这个控件。 参考技术B 用expression blend设计wpf前台啊,feihonggang888 说的可行追问

看得不懂 。。

追答

expression blend是wpf前台界面设计工具,是专业wpf的UI界面设计工具,可以直接生成xaml。你使用那个可以实现很多你手写很费力的效果。包括触发器等。

Button1 是不是你想要的效果

追问

不是哦 我想要的是 比如说 tabcontrol 控件随这窗口的改变而改变 宽度和高度一样

追答


应该是这样的吧,Button1填充在第一表格内,还不行可以给我发邮件,275652960@163.com

本回答被提问者采纳

以上是关于C#怎样让tablelayoutpanel中控件居中显示的主要内容,如果未能解决你的问题,请参考以下文章

c#操作tableLayoutPanel

C语言中怎样让tablelayoutpanel中控件居中显示?

C语言中怎样让tablelayoutpanel中控件居中显示?

c# tableLayoutPanel 划分的每一行我无法拖动线改变其位置,为啥?

C# tablelayoutpanel 无法删除填充/边距

TableLayoutPanel隐藏指定的行和列 求指导