问题标签 [tablelayoutpanel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使控件停靠和滚动条很好地发挥作用
我有一个面板,它有时需要比自然适应更多的垂直屏幕空间,所以它需要能够垂直滚动。所以,这一切都设置为 AutoScroll。
控件包含在 TableLayoutPanel 中并设置为停靠,因此它们应调整其宽度以匹配。然而,当控件触发滚动条时,它总是最终创建一个水平滚动条,即使被违反的控件没有最小宽度限制。它基于先前的宽度创建水平滚动条,而不是尊重停靠命令并重新绘制控件以适应新宽度。
有没有更好的方法来解决这个问题?
c# - TableLayoutPanel 对事件的响应非常缓慢
在我的应用程序中,我确实需要以良好的顺序放置很多控件(标签、文本框、域向上)。所以我继续使用一些嵌套TableLayoutPanel
的 . 现在的问题是,此表单对大多数事件(调整大小、最大化、最小化和......)的响应非常慢,表格中的控件需要 5 秒才能调整大小,重新绘制为新的表单大小。
我现在把一根手指放在我的眼睛里!如果这种形式在我的家用 PC 上这么慢(i7@4GHz 和一个好的显卡),明天它会在工作中的旧 P4 计算机上做什么?
我什至尝试使用下面的代码,但它绝对没有任何作用,如果它没有更慢的话!
请让我知道是否有使 tablelayoutpanel 工作得更快的技巧......或者如果您知道更好的方法来放置大约数百个控件很好地对齐。
c# - 如何在表格布局中合并两个单元格
我有两行两列。我希望两个单元格的最后一列合并为一个。由于要求,我不使用其他设计选项意味着两个表格布局,其中第一个表格布局有两行。我在 C# 中使用 Winforms。
vb.net - 在 TableLayoutPanel 中移动控件的问题
对于我正在构建的 winForm,我正在使用TableLayoutPanel,它具有任意数量的文本框和两个用于添加或删除框的按钮,+ 和 -。+ 和 - 按钮直接出现在用户关注的文本框下方,如下所示:
- (文本框)
- (带焦点的文本框)
- (减号按钮)
- (加号按钮)
- (文本框)
- (文本框)
- (文本框)
如果用户单击另一个框,+ 和 - 按钮应在运行时适当移动。我一直在尝试使用.GetControlFromPosition
and.GetPositionFromControl
命令移动文本框,但这似乎不起作用,因为这些框要么不移动,要么移动到与预期不同的位置。解决这个问题的最佳方法是什么?
c# - 使用 TableLayoutPanel 的列大小问题
我有以下代码:
我的问题是,当我运行我的应用程序时,没有显示任何内容。如果我将最后一行更改为显示在第一列中,如下所示:
然后它在第一列中显示得很好。此外,如果我将ColumnStyle
定义更改为,SizeType.Percentage
而不是Absolute
,那也可以,但我不想要百分比,我想要左侧有一个 100 像素的固定列,右侧有一个 50 像素的固定列。
有人可以指出我正确的方向吗?
winforms - 运行我的代码 vb.net 时不断收到一个 argumentOutOfRangeExceptions
我一直在这个问题上运行,它会跳出生成表的 for 语句,我已经倾注了代码三个小时的大部分时间,我找不到出了什么问题,所以我想我需要另一对的眼睛。
Shared Function DrawGrid() As TableLayoutPanel
Dim dayNames As New ArrayList
dayNames.Add("Monday")
dayNames.Add("Tuesday")
dayNames.Add("Wednesday")
dayNames.Add("Thursday")
dayNames.Add("Friday")
dayNames.Add("Saturday")
dayNames.Add("Sunday")
Dim hour As Integer = 8
Dim minute As Integer = 0
Dim timeType As String = "AM"
Dim dayLength As Integer = 12
Dim timetable As New TableLayoutPanel
timetable.CellBorderStyle = TableLayoutPanelCellBorderStyle.Inset
End Function
c# - TableLayoutPanel 中的列大小在设计器中不断变化
我在我的用户控件中添加了一个 tableLayoutPanel。
列的大小设置如下。
据我了解,绝对值应始终保持正确的大小,然后第 1 列应占用其余空间。
当我最初创建控件时,一切看起来都很好。生病回去编码我的程序的其他一些区域并不重要,并且在某些时候我会返回到我的 tableLayoutPanel 所在的设计器,并且第四列将比以前更大。所以我必须打开列和行样式编辑器并将列的大小更改回 25。
我怎样才能让这些设置保持不变?它快把我逼疯了!
此处要求的是我的设计器代码。
c# - 带有按钮事件的 Visual Studio 2010 TableLayoutPanel
我在 Visual Studio 2010 中以设计器模式制作了一个 TableLayoutPanel(例如 8x8 rowsxcolumns),然后我在这个“矩阵”的每个字段中都放置了一个按钮。有什么办法可以集中处理事件吗?我发现 TableLayoutPanel 有 TabIndexChanged,但我不知道这是否对我有用。
我只是想知道这是否可能:
我单击第二个按钮并获取有关我单击的按钮的信息,并且能够更改他的某些属性-例如图标或文本。
让我们想象一个想法,我将 tablelayoutpanel 理解为“矩阵”或“数组”,我想使用它是这样的:
那可能吗?如果是,如何?
谢谢
c# - 更改 AutoScaleMode,或从 FlowLayoutPanel 更改为 TableLayoutPanel?
FlowLayoutPanel 上的控件在我的机器上看起来很完美,但在另一台机器上却全都搞砸了(这是“未对齐”的技术术语)。我的是XP,他的是Windows 7,但我不知道这是不匹配的原因还是它的屏幕分辨率或其他原因。
我确实注意到 FlowLayoutPanel 非常敏感/笨拙 - 即使在设计时更改 BorderStyle 也会导致控件重新排列,使它们不再相互对齐。
我在 StackOverflow 文章中看到了更改(表单的)AutoScaleMode 属性的建议,但发帖人没有指定什么(或从什么;我猜默认属性值为“Font”)。
从 FlowLayoutPanel 切换到 TableLayoutPanel 是否会在 DPI 设置或任何问题之间提供更一致的视觉体验?
顺便说一句:WPF 目前不是我们的选择。
c# - TableLayoutPanel 等距单元格
我试图让 TablePanelLayout 中的列均匀分布。它似乎适用于某些数字,但不适用于其他数字。
2、4、5、8 和 10 都可以正常工作,但 3、6、7 和 9 则不行。最后一个单元格总是比其他单元格稍大或稍小。
浮动精度似乎有一个限制:100 / 5 = 20 很好而且很均匀。但是 100 / 6 = 16.66666... 它只显示 2 个小数位。
任何在除以 100 时导致重复数字的东西都不起作用。我试过使用格式 > 水平/垂直间距 > 使相等,我在其他线程中看到过,但它没有任何区别。
这是特别值得注意的,因为每个单元格都包含一个将 SizeMode 设置为 Zoom 的 PictureBox。所以一个图像显然与其他图像的大小不同。
还有其他技巧可以确保它们绝对均匀吗?整个表单是可调整大小的,因此它必须以任何合理的比例工作。所有 4 面都设置为 Anchor,边距和填充都为 0。
我已经没有想法了...