首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工具条带控件主机的AutoSize不能正常工作

工具条带控件主机的AutoSize不能正常工作
EN

Stack Overflow用户
提问于 2021-02-19 18:12:08
回答 1查看 32关注 0票数 0

在下面的代码中,当按钮被按下时,我试图在按钮上方显示一个弹出窗口,但ToolStripControlHost的AutoSize不能正常工作,并且不会显示整个内容。除此之外,即使指定了按钮位置,弹出窗口也会显示在按钮上方。我该如何解决这个问题?

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var panel1 = new Panel();

            var label1 = new Label();
            label1.Text = "12345\nabsde\nlllllllllllllllllA\nVWXYZ\nZZZZZZZZZZZZZZA";
            label1.BackColor = Color.Red;
            label1.Margin = Padding.Empty;
            label1.AutoSize = true;
            label1.Size = Size.Empty;
            label1.Location = new Point(0, 0);
            panel1.Controls.Add(label1);

            var toolStripControlHost = new ToolStripControlHost(panel1);
            toolStripControlHost.Margin = Padding.Empty;
            toolStripControlHost.Padding = Padding.Empty;
            toolStripControlHost.BackColor = SystemColors.Info;
            toolStripControlHost.AutoSize = true;
            toolStripControlHost.Size = Size.Empty;

            var toolStripDropDown = new ToolStripDropDown();
            toolStripDropDown.Margin = Padding.Empty;
            toolStripDropDown.Padding = Padding.Empty;
            toolStripDropDown.DropShadowEnabled = false;
            toolStripDropDown.AutoSize = true;
            toolStripDropDown.Size = Size.Empty;
            toolStripDropDown.Items.Add(toolStripControlHost);
            toolStripDropDown.Show(this, button1.Location, ToolStripDropDownDirection.AboveRight);
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-02-19 20:27:35

我注意到在将控件插入到toolStripControlHost中时,字体会发生变化,因此我插入了以下代码来尝试并使字体显式显示,现在它工作得很好。

代码语言:javascript
复制
toolStripControlHost.Font = DefaultFont;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66275580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档