c# – 动态更改面板的大小

c# – 动态更改面板的大小,第1张

概述我正在实现一个需要在面板中拖放图像框的应用程序.图像框是从程序中动态添加的,因此我在面板中将autoscroll属性设置为true.但是当我拖出底部的框时面板尺寸减小.我在面板中放置了autosize属性false.面板停靠在另一个面板上.我想在运行时设置面板的大小.我怎样才能实现这一点. public form1(int[,] dummy, int columnSize, int rowSize 我正在实现一个需要在面板中拖放图像框的应用程序.图像框是从程序中动态添加的,因此我在面板中将@R_403_6843@scroll属性设置为true.但是当我拖出底部的框时面板尺寸减小.我在面板中放置了@R_403_6843@size属性false.面板停靠在另一个面板上.我想在运行时设置面板的大小.我怎样才能实现这一点.
public form1(int[,] dummy,int columnSize,int rowSize)   {       this.dummy= dummy;       numOfColumns = columnSize;        numOfRows = rowSize;        getData();        addIDs = addIDArray;        data = myList;        InitializeComponent();        //panel1.MinimumSize = new Size(columnSize * 40,rowSize * 40);        //panel1.Height = rowSize * 40;        //panel1.WIDth = columnSize * 40;        //panel4.Height = rowSize * 40;        //panel4.WIDth = columnSize * 40;        int x,y;        Structures.EmptyRectSpace space = new Structures.EmptyRectSpace();        for (int i = 0; i < data.Count; i++)// set picture Boxes         {            space = (Structures.EmptyRectSpace)data[i];            x = space.startingJ;            y = space.startingI;            int h,w;            h = space.length;            w = space.wIDth;             p = new PictureBox();                p.WIDth = w * 40;                p.Height = h * 40;                p.Backcolor = color.DarkGreen;                p.Image = PropertIEs.Resources.v;                p.borderStyle = borderStyle.FixedSingle;                p.name = addIDArray[i].ToString();                p.Location = new Point((x + 1 - w) * 40,(y + 1 - h) * 40);                this.panel1.Controls.Add(p);        }        foreach (Control c in this.panel1.Controls)        {            if (c is PictureBox)            {                c.MouseDown += new MouseEventHandler(pictureBox1_MouseDown);            }        }        this.panel1.DragOver += new System.windows.Forms.DragEventHandler(this.panel1_DragOver);        panel1.DragOver += new DragEventHandler(panel1_DragOver);        panel1.DragDrop += new DragEventHandler(panel1_DragDrop);        panel1.AllowDrop = true;        panel2.AllowDrop = true;        foreach (Control c in this.panel2.Controls)        {            c.MouseDown += new MouseEventHandler(pictureBox1_MouseDown);        }        this.panel2.DragOver += new System.windows.Forms.DragEventHandler(this.panel2_DragOver);        panel2.DragOver += new DragEventHandler(panel2_DragOver);        panel2.DragDrop += new DragEventHandler(panel2_DragDrop);     }

这是包含面板的表单的构造函数.当它加载时,必须将图片框添加到面板中并实现面板的拖放事件.

请帮帮我..

解决方法 除非我在代码中以编程方式设置最大宽度,否则我无法工作.设计师的最大宽度是多少并无关紧要(或者如果设置了最大宽度).
int newWIDth = 200;panel.MaximumSize = new Size(newWIDth,panel.Height);panel.Size = new Size(newWIDth,panel.Height);
总结

以上是内存溢出为你收集整理的c# – 动态更改面板的大小全部内容,希望文章能够帮你解决c# – 动态更改面板的大小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1249270.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存