C# 自定义控件调用父窗体方法

自定义控件中代码:

namespace Produce
{
    public partial class BandPanel : UserControl
    {       
	    ……
		
        private void Print()
        {
            SetIndex(0);
        }

        public delegate void AddIndexEventHandle(int index);
        public event AddIndexEventHandle AddIndex;
        private void SetIndex(int type)
        {
            AddIndex(type);
        }
		
		……
    }

}

父窗体中代码:

namespace Produce
{
    public partial class Form1 : Form
    {
        private BandPanel bPanel_Left;
        private BandPanel bPanel_Right;


        private int _MeiIndex { get; set; }
        private int _SnIndex { get; set; }
        private object _lock = new object();


        public Form1()
        {
            InitializeComponent();
			
            bPanel_Left = new BandPanel(serverUrl, manager_PSWStr, "通道1");
            bPanel_Left.Parent = this.splitContainer1.Panel1;
            bPanel_Right = new BandPanel(serverUrl, manager_PSWStr, "通道2");
            bPanel_Right.Parent = this.splitContainer1.Panel2;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            bPanel_Left.AddIndex += AddNF803Index;
            bPanel_Right.AddIndex += AddNF803Index;
        }

        void AddNF803Index(int type)
        {
            lock (_lock)
            {
                _MeiIndex++;
                _SnIndex++;
            }
        }

        ……

    }

}

在自定义窗体中调用父窗体的方法:

        private void test()
        {
            SetIndex(0);
        }

自适应是指根据窗体或容器的大小变化,自动调整控件的大小和位置,以适应不同的屏幕分辨率或窗口大小。在C#中,可以通过编写代码来实现自定义控件的自适应。 根据提供的引用\[1\],可以看出在C#中,通过事件处理函数来实现自定义控件的自适应。在事件处理函数中,调用了asc.controlAutoSize方法,该方法用于控制自定义控件的自适应。 具体实现自适应的方法可以根据具体需求而定。一种常见的方法是使用Anchor和Dock属性来控制控件的位置和大小。Anchor属性可以指定控件与其容器的边界之间的相对位置关系,而Dock属性可以指定控件容器中的停靠方式。 例如,可以将控件的Anchor属性设置为Top、Left、Right,这样控件将会在容器的顶部和左右两侧保持固定的位置,而在容器的大小变化时,控件的宽度会自动调整以适应容器的大小。 另外,还可以使用SizeChanged事件来监听容器的大小变化,并在事件处理函数中更新控件的大小和位置。 总之,C#中可以通过编写代码来实现自定义控件的自适应,具体的实现方法可以根据具体需求而定。引用\[1\]提供了一个示例代码,可以参考该代码来实现自适应功能。 #### 引用[.reference_title] - *1* *2* [C# winform 控件自适应窗体大小](https://blog.csdn.net/tytok/article/details/81019683)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值