加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么12 X 8.33似乎等于大约105?

发布时间:2020-12-15 21:39:01 所属栏目:百科 来源:网络整理
导读:在我的TableLayoutPanel中,我正在动态添加十二行(和几列).当我将TableLayoutPanel的Rows集合设置为Autosize时,将生成第12行,但不会显示.我将其更改为百分比,每行得到8.33%(实际上我将其设置为8,并自动更改为8.33). 所以这应该是完美的肉眼(99.99999999%),
在我的TableLayoutPanel中,我正在动态添加十二行(和几列).当我将TableLayoutPanel的Rows集合设置为Autosize时,将生成第12行,但不会显示.我将其更改为百分比,每行得到8.33%(实际上我将其设置为8,并自动更改为8.33).

所以这应该是完美的肉眼(99.99999999%),但现在第十二行比其他行有更多的空间,第16列相同,所以TableLayoutPanel底部和右侧有“死空间”,标签我在最后一行中没有与我在相邻列中的textBoxes对齐.

如果有人对查看实际代码感兴趣:

private void AddControlsToPlatypusTableLayoutPanel()
{
    string lblName;
    string txtbxName;
    int ColNum = 0;
    int RowNum = 0;
    int LoopCounter = 1;
    DateTime dt = new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day,0);

    while (LoopCounter <= 96) {
        // Create the Label
        lblName = string.Format("label{0}",LoopCounter);
        var lbl = new Label() {
            Name = lblName,Dock = DockStyle.Fill,Margin = new Padding(),TextAlign = ContentAlignment.MiddleCenter,Text = dt.ToString("HH:mm")
        };
        tableLayoutPanelPlatypus.Controls.Add(lbl,ColNum,RowNum);

        // Create the TextBox
        txtbxName = string.Format("textBox{0}",LoopCounter);
        var txtbx = new TextBox() {
            Name = txtbxName,Margin = new Padding()
        };
        tableLayoutPanelPlatypus.Controls.Add(txtbx,ColNum + 1,RowNum);

        dt = dt.AddMinutes(15);
        RowNum++;
        LoopCounter++;
        // Move over if at the bottom
        if (RowNum == 12) { 
            ColNum = ColNum + 2;
            RowNum = 0;
        }
    }
}

UPDATE

通过将尺寸和位置调整为smidgin,我可以让它看起来很好看,但是现在我要么必须在它周围使用垫子,要么改变窗体的大小和所有其他控件,或者其中许多控件.因此,我仍然认为百分比不像人们期望的那样有点不规则.我知道,我知道:WPF.但目前这不是一个选择.

解决方法

如果你把它设置为8那么8 * 12结束到84%,剩余16%将被容纳在最后一行,同样的情况适用于最后一列.所以你需要将它定义为100/12 = 8.33%.如果你将每一行设为8.33%,最后一行设为8.37%,那么这将是不错的.你需要在行或列的情况下完成100%.或者您可以使用修复大小.如果你想要可变大小的表,那么请确保你没有定义表的大小和行高度和列宽动态定义表大小.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读