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

c# – 无法使用ToolStripLayoutStyle.Table在ToolStrip中以编程

发布时间:2020-12-15 17:26:23 所属栏目:百科 来源:网络整理
导读:我想以编程方式用项目填充ToolStrip. toolStrip1.LayoutStyle必须是ToolStripLayoutStyle.Table.但我不能改变项目的宽度,即使我这样做,宽度恢复为默认值. ToolStripLabel tslCheck = new ToolStripLabel("First Text"),tslSumm = new ToolStripLabel("second
我想以编程方式用项目填充ToolStrip. toolStrip1.LayoutStyle必须是ToolStripLayoutStyle.Table.但我不能改变项目的宽度,即使我这样做,宽度恢复为默认值.

ToolStripLabel tslCheck = new ToolStripLabel("First Text"),tslSumm = new ToolStripLabel("second Text:"),tslError = new ToolStripLabel("third text:"),tslAccount = new ToolStripLabel("fourth text"),tslProvider = new ToolStripLabel("fifth text");
ToolStripTextBox tbCheck = new ToolStripTextBox(),tbAccount = new ToolStripTextBox(),tbSumm = new ToolStripTextBox(),tbError = new ToolStripTextBox();
TableLayoutSettings tsSettings;

ToolStripComboBox cbProvider = new ToolStripComboBox();       

protected void toolStrip1_Construct()
{
    toolStrip1.LayoutStyle = ToolStripLayoutStyle.Table;            
    tsSettings = toolStrip1.LayoutSettings as TableLayoutSettings;
    tsSettings.RowCount = 2; 
    tsSettings.ColumnCount = 6;

    cbProvider.DropDownStyle = ComboBoxStyle.DropDownList;

    ///adding controls
    toolStrip1.Items.AddRange(new ToolStripItem[]
    {
        tslCheck,tbCheck,tslAccount,tbAccount,tslProvider,cbProvider,//second row
        tslSumm,tbSumm,tslError,tbError
    });

    tbAccount.Width = 1000; //Width is still remains 100
    cbProvider.Width = 500; //Width is still remains 121
}

但是,如果我在VisualDesigner中这样做,一切正常.

解决方法

您必须将AutoSize属性设置为false:

ToolStripComboBox cbProvider = new ToolStripComboBox() { AutoSize = false };

(编辑:李大同)

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

    推荐文章
      热点阅读