简体   繁体   English

从用户控件更改表单控件

[英]Changing form control from user control

I'm trying to changing a user control informations (labels, pictures etc.) from auto added user control.我正在尝试从自动添加的用户控件更改用户控件信息(标签、图片等)。 But i cant do it.但我做不到。

Here's my code;这是我的代码;

        private void KitapButton_Click(object sender, EventArgs e)
        {
            BıtıkForm BForm = new BıtıkForm();

            BForm.kitapGoruntuleme.Visible = true;
        }
public partial class BıtıkForm : Form
    {
        //create controls public instance
        public Label label;

        public BıtıkForm()
        {
            InitializeComponent();

            //initialize the control 
            label = new Label();
        }
    }

Now you can access it from other place like;现在你可以从其他地方访问它;

BıtıkForm BForm = new BıtıkForm();

BForm.label.Visible = true;

/////// But my Suggestion do not do it like that instead do it like below /////// /////// 但我的建议不要那样做,而是像下面那样做 ///////

BıtıkForm BForm = new BıtıkForm(controlVisible);//Pass the bool value as parameter to the constructor of form
BForm.Show();

And then in form然后在形式

public partial class BıtıkForm : Form
        {
            public BıtıkForm(bool controlVisible)
            {
                InitializeComponent();

                //Set Control Visibility
                someControl.Visible = controlVisible;
            }
        }

I didn't use C# too much but It's eventually object oriented.我没有过多地使用 C#,但它最终是面向对象的。 The mistake I made is;我犯的错误是; I was creating a new instance of 'BıtıkForm' everytime event fired.每次触发事件时,我都会创建一个新的“BıtıkForm”实例。 It could be solved by adding new property where event belongs, and property will carry 'BıtıkForm' object.可以通过在事件所属的地方添加新属性来解决,并且属性将携带“BıtıkForm”对象。 So It can be managed trough all over the program.所以它可以通过整个程序进行管理。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM