问题标签 [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# - C# TableLayoutPanel 填充
在 TableLayoutPanel 中,默认情况下,行或列中的最后一个元素会占用剩余空间。如何实现倒数第二个或任何其他元素占用尽可能多的空间的布局,除此之外,最后一个元素仅占用必要的空间?
c# - MDI 子窗体显示在 TableLayoutPanel 控件后面
我有一个适合屏幕大小的无边框 MDI 表单,我在其上放置了 1 个居中固定大小的 TableLayoutPanel 控件,其中 2 行,位于顶行 (10%) 我在底行 (90%) 放置了一个水平 RibbonBar 控件) 我放置了一个带有 2 个面板的拆分容器:左侧面板用于承载垂直 RibbonBar 控件,右侧用于显示子窗体。当我单击以显示所需的子窗体时,它会加载到 TabelLayoutPanel 后面,我只能看到其中的一小部分,无法将其带到前面。
我试图更改 Parent 和 childs 的 FormBorderstyle 属性,以及 childs 的 TopMost 属性。问题仍然相同。
有人对此事有想法,或者是否有更好的解决方案来布局 MDI 表单?
c# - 无法在 C# 的 tablelayoutpanel 中启用滚动
我在我的项目中使用了一个表格布局面板并在其中显示项目。但它不可滚动,我尝试过使用自动滚动、最大尺寸以及与滚动相关的所有其他内容。
任何形式的帮助将不胜感激,非常感谢,请帮助
c# - 如何以编程方式设置动态创建以嵌入 TableLayoutPanel 的控件的 Column 和 Row 属性?
当我在 TableLayoutPanel 上放置一个控件(例如 Label 或 TextBox)时,它具有(当然还有许多其他属性)以下属性:
...但这些控件通常不具有这些属性(IOW、标签和未放置在 TLP 上的文本框没有它们)。
如何以编程方式将值分配给这些属性(给要嵌入 TLP 的控件)?
这是我现有的标签代码:
c# - 为什么 12 X 8.33 似乎等于 105?
在我的 TableLayoutPanel 中,我动态添加了十二行(和几列)。当我将 TableLayoutPanel 的 Rows 集合设置为 Autosize 时,将生成第 12 行,但不会显示。我将其更改为百分比,每行获得 8.33%(我实际上将其设置为 8,它自动更改为 8.33)。
所以这对肉眼来说应该是完美的(99.99999999%),但是现在第十二行比其他行有更多的空间,第 16 列也一样,所以 TableLayoutPanel 在底部和右侧有“死区”,标签我在最后一行中的文本框与我在相邻列中的文本框不对齐。
如果有人有兴趣查看实际代码:
更新
通过稍微调整大小和位置,我可以让它看起来不错,但现在我要么不得不在它周围放置一个垫子,要么改变表单和所有其他控件的大小,或者其中许多控件,无论如何。所以我仍然认为百分比没有像人们期望的那样计算出来有点不正常。我知道,我知道:WPF。但这不是目前的选择。
c# - 为什么我的 TableLayoutPanel 在除以百分比时没有使用其所有大小?
我正在向 TableLayoutPanel 动态添加控件。
它有 12 行和 32 列。
我已经划分了列的宽度,这样带有标签的宽度是带有文本框的宽度的两倍,并且百分比加起来为 100:
由于每行有 24 个文本框,每行有 8 个标签,这等于 100%(40% 标签,60% 文本框)。
但是,最后一列是太空猪,如下所示:
http://warbler.posterous.com/the-32-column-is-wider-than-the-rest
而且我需要标签的空间来展示它们的整个自我:它们实际上是五个字符宽(“00:00”...“23:45”),而不是显示的四个字符。
根据经验证据(以前的反复试验),我可以减小 TLP 的宽度以缩小最后一列,但这并不能解决我的标签单元太窄的问题。
这就是我在 TLP 上打控件的方式(我在设计时通过 Columns 集合的属性页面设置了列宽百分比)
更新
我想问题可能是 TLP 的宽度不能被 32 整除(它是 619);所以我把它扩大到640,但同样的问题仍然存在。
更新 2
为了让它工作,我不得不对列使用绝对大小而不是百分比*,并将标签保持列的宽度增加到 35(在 TLP 宽度为 640 时,只有 15 个用于保持文本框的列) .
- WPF 有时可能是一只熊(更像是 Kodiak 而不是 Winnie),但它确实满足了这种情况的需求,我担心绝对尺寸会在不同的分辨率/屏幕尺寸等下全部转移到达拉斯。
c# - SuspendLayout/ResumeLayout 是一文不值还是我做错了?
我有两个标签页托管 TableLayoutPanel,我用标签和文本框动态填充它们。第一个有 96 个标签和 96 个文本框,它的闪烁是可以接受的/可容忍的,所以我没有费心添加 SuspendLayout/ResumeLayout 对。
然而,第二个有 96 个标签和 288 个文本框,它的绘画/闪烁是无法忍受的。IOW,192 控制似乎还可以,但 384 绝对不行。
我在动态创建控件之前调用了 SuspendLayout,然后在 finally 块中调用了 ResumeLayout,但是删除了它们,瞧!与第一个 tabPage/TLP 一样,闪烁是可以接受的。
为什么这种减法加法有效?
c# - 单击按钮后打印tablelayoutpanel的内容C#
我有错误提示“ExternalException 未处理;GDI+ 中发生一般错误。” 在
"printImage.Save( "C:/image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg)
“
感谢帮助!
c# - 是否可以使用交替的垂直列填充 DataGridView?
我需要显示混合“硬编码”字符串和来自数据库的数据的数据。具体来说,每个偶数列都包含不是来自数据库的字符串值,每个奇数列都包含数据。因此,例如,第 1 列将包含数据库中的值 1 到 12,因此前两列看起来像这样(并且相同的模式重复多次):
这可能吗?
现在我正在为此使用 TableLayoutPanel,但它的编码有点花哨(不是 Steely Dan 参考)。
c# - TableLayoutPanel 第一列周围没有边框?
我有一个扩展 TableLayoutPanel 定义/构造的类,如下所示:
当我的表格被绘制出来时,它的所有 5 列都有边框(正如人们所期望的那样,给定上面设置CellBorderStyle的代码)。
有没有办法可以防止在第一列周围绘制边框?
我知道你可以添加一个 CellPaint 回调:
在此回调中,您可以执行诸如更改特定列的边框颜色之类的操作:
但是你怎么画“否”矩形呢?
我尝试将颜色设置为 Color.Empty 但这不起作用: