winforms 为什么每次在form1设计器上拖动控件时,控件的大小都会改变?

n3schb8v  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(168)

一次我拖动用户控件到form1设计器.然后我试图改变用户控件的大小,而它在form1设计器,但然后当我拖动用户控件周围的用户控件大小是变化.
这里有两个屏幕截图,显示了每次拖动时用户控件的大小。
用户控件是Map。
当我在用户控件上按住鼠标时它是实际大小:

一旦我离开鼠标左键并不按住它,用户控件的大小在用户控件设计器上发生了变化,我可以看到用户控件的实际大小,但大部分是空的,里面的Map现在更小了:

用户控制代码:

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;
using DotNetBrowser.Browser;
using DotNetBrowser.Engine;
using DotNetBrowser.WinForms;

namespace Weather
{
    public partial class GoogleMapsUserControl : UserControl
    {
        public static IBrowser browser;
        public static IEngine engine;

        public GoogleMapsUserControl()
        {
            InitializeComponent();

            engine = EngineFactory.Create(new EngineOptions.Builder
            {
                LicenseKey = "KEY HERE"
            }.Build());

            // Create and initialize the IEngine
            //engine = EngineFactory.Create();

            // Create the Windows Forms BrowserView control
            BrowserView browserView = new BrowserView()
            {
                Dock = DockStyle.Fill
            };

            // Create the IBrowser
            browser = engine.CreateBrowser();
            browser.Navigation.LoadProgressChanged += Navigation_LoadProgressChanged;
            browser.Navigation.LoadFinished += Navigation_LoadFinished;
            browser.Navigation.LoadUrl("D:\\Csharp Projects\\Weather\\map.html");

            // Initialize the Windows Forms BrowserView control
            browserView.InitializeFrom(browser);

            this.Controls.Add(browserView);

            
        }

        private void Navigation_LoadProgressChanged(object sender, DotNetBrowser.Navigation.Events.LoadProgressChangedEventArgs e)
        {
            
        }

        private void Navigation_LoadFinished(object sender, DotNetBrowser.Navigation.Events.LoadFinishedEventArgs e)
        {
            
        }

        private void GoogleMapsUserControl_Load(object sender, EventArgs e)
        {

        }
    }
}
qoefvg9y

qoefvg9y1#

我想你已经把Map用户控件拖到了GroupBox“下载”里面,所以Map被GroupBox的限制“裁剪”了。把Map控件拖到GroupBox外面,直接拖到窗体上面。
组框中的列表视图示例:

相关问题