jjzjj

TableLayoutPanel

全部标签

c# - 如何访问 winforms 设计器中的继承控件

我正在制作一些控件,它们必须具有相同的外观和一些共同的行为,尽管它们适用于不同类型的输入。所以我创建了一个继承自UserControl的BaseClass,我所有的控件都继承自BaseClass。但是,如果我在设计器中为BaseClass添加控件,例如TableLayoutPanel,则在设计继承类时无法访问它们。我看到了TableLayoutPanel,但即使他受到“保护”,我也无法修改它或通过设计器将控件放入其中。我可以通过代码访问它,但我不想失去使用设计器的能力。现在,我只是从BaseClass中删除了所有控件,在每个继承类中添加了布局和所有公共(public)控件,然后使用引用

c# - Controls.Clear() 清理多深?

我正在使用一个TableLayoutPanel,它动态填充了其他TablelayoutPanel。现在我想知道当我在动态填充的TableLayoutPanel上调用TableLayoutPanel.Controls.Clear时会发生什么。显然,所有的子布局都被移除了,但是他们的子布局呢?它们是否也得到妥善处理,还是我需要担心内存泄漏?我应该在调用Clear()之前递归地删除child的child吗? 最佳答案 Clear不处理控件,导致内存泄漏。来自链接:CallingtheClearmethoddoesnotremovecont

c# - TableLayoutPanel 显示垂直滚动

我有TableLayoutPanel用于通过AutoScroll=true动态创建控件。当我添加新控件时它工作正常。但是当我删除并且所有控件都可见时,垂直滚动是可见的。这里有一些截图:预期/正确的滚动可见性:不正确的可见性:有什么想法吗?更新:这是一些代码tableLayoutPanel1.SuspendLayout();tableLayoutPanel1.RowCount=0;tableLayoutPanel1.RowStyles.Clear();tableLayoutPanel1.AutoScroll=true;tableLayoutPanel1.Padding=newPaddin

c# - .NET Control.Margin 属性有什么用?

我假设C#margin属性的含义类似于CSS-控件外部的间距。但是无论我输入什么值,边距值似乎都被忽略了。然后我在SDK上看了:SettingtheMarginpropertyonadockedcontrolhasnoeffectonthedistanceofthecontrolfromthetheedgesofitscontainer.鉴于我要在表单上放置控件,并且可能将它们停靠,Margin属性对我有什么帮助? 最佳答案 正如PhilipRieck所说,margin属性仅被执行布局的容器控件所尊重。下面是一个示例,可以清楚地说明

c# - TableLayoutPanel 大小调整

我可能没有使用我想要的正确控件。我正在用控件填充表格,我希望每一列的大小自动适应其中包含的控件。例如,一列文本框将比一列复选框宽。由于不同操作系统、不同DPI、不同字体等的复杂性,我不想摆弄测量,如果我能帮助的话。表格可以水平扩展以适应控件,带有滚动条。使用TableLayoutPanel-或其他一些控件,这怎么可能?谢谢。编辑添加代码:privatevoidUpdateLocations(){tableLayoutPanel1.RowCount=CurrentSchedule.location.Length+1;tableLayoutPanel1.ColumnCount=7;intr

c# - 放置在 TableLayout 中的停靠控件的大小不会自动小于其创建大小

这个问题展示得比解释的好,所以我设置了一个gitrepoVisualStudio2010项目,用于查看实际问题。我有一个项目,我在其中添加了ComboBox控件(comboField)到TableLayout控件(tableLayoutPanel1)。我设置了DockComboBox的属性为Fill以便它填充它所在的TableLayout控件的单元格。我还设置了DockTableLayout控件的属性为Fill以便它填充放置它的表单。ComboBox的宽度当前为193像素。当我运行表单并增加其宽度时,ComboBox的大小如预期的那样增加了。当我减小窗体的大小时,ComboBox的大小

c# - Windows 窗体 DPI 缩放

我的应用程序在100%DPI设置下看起来不错,但是当用户选择不同的(125%或150%)时,单词不适合容器。我试着用我在这里找到的解决方案来解决这个问题:Detectwindowsfontsize(100%,125%,150%)这是:this.AutoScaleMode=AutoScaleMode.Dpi;它修复了150%的设置(让它有点模糊,但没关系),不幸的是,它没有为125%设置相同的设置,该设置在应用程序打算运行的PC上使用。是否有一些简单的解决方法,或者我是否必须手动重新排列每个表单? 最佳答案 CreatingaDPI-

c# - 垂直对齐 TableLayoutPanel 中的控件

有没有办法让TableLayoutPanel上的控件的文本内容正确对齐?我在第0列中有标签,在第1列中有文本框(或偶尔有ComboBox或NumericUpDown控件),但标签中的文本在大多数行上通常是一两个像素(垂直)。 最佳答案 选择表格布局面板中的所有控件。在属性选项卡中确保anchor设置为“左”。我认为它默认为“顶部,左侧”。希望一切顺利。 关于c#-垂直对齐TableLayoutPanel中的控件,我们在StackOverflow上找到一个类似的问题:

c# - 隐藏和显示 TableLayoutPanel 的单元格

我的表格布局面板有一列三行。(一个停靠到每个单元格中的“填充”面板。)现在我希望能够隐藏/显示行。我希望任何时候都只显示一行(基于用户对某些单选按钮的选择)并且我想调整大小以使其填充TableLayoutPanel的所有区域。我该怎么做?有什么想法吗? 最佳答案 如果您的TableLayoutPanel中的行是自动调整大小的,那么隐藏内容面板也会隐藏放置面板的单元格。 关于c#-隐藏和显示TableLayoutPanel的单元格,我们在StackOverflow上找到一个类似的问题:

c# - 在 Windows 窗体中获取 TableLayoutPanel 单元格的高度和宽度

在Windows窗体中使用TableLayoutPanel。我将RowStyles和ColumnStyles与SizeType分别用作AutoSize和Percent。我需要找出放置特定控件的单元格的绝对高度和宽度。TableLayoutPanelCellPositionpos=tableLayoutPanel1.GetCellPosition(button1);intheight=(int)tableLayoutPanel1.RowStyles[pos.Row].Height;intwidth=(int)tableLayoutPanel1.ColumnStyles[pos.Colum