txshiro
txshiro

Reputation: 218

Passing values to User Control from Form

I've created User Control in my WFA (Windows Form Application) and I want to pass value from my MainForm.cs to UserControl.cs but I have no idea on how to do that. Here are my values I want to pass to the UserControl.cs

public partial class MainForm : Form
{
        private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
             if (ProcOpen)
             {
                 //THESE 
                 int vlInt = m.ReadByte("base+007C1DAC,0x14,0x4");

                 int roomID = m.ReadByte("base+003CA150,0x0");

                 double diffValue = m.ReadDouble("base+007B4A3C,0x0,0x2c,0x10,0x7ec,0x300");
             }
       }
}

To

public partial class FirstCustomControl : UserControl
    {
        public FirstCustomControl()
        {
            InitializeComponent();
        }

        private void FirstCustomControl_Load(object sender, EventArgs e)
        {
            //GET THE VALUES HERE
        }

    }

Upvotes: 0

Views: 60

Answers (1)

Koorosh
Koorosh

Reputation: 527

you can define a property for your UC then set the property from the parent;

public partial class FirstCustomControl : UserControl
{

    public static dynamic vlInt;
    public static dynamic roomID; 
    public static dynamic diff; 



    public FirstCustomControl()
    {
        InitializeComponent();
    }
    public void NotifyValueChanged(){
           label1.text = vlInt.ToString();
           label2.text = roomID.ToString();
           label3.text = diff.ToString();

    }
    private void FirstCustomControl_Load(object sender, EventArgs e)
    {

    }
}

Then in your MainForm

    public partial class MainForm : Form
{
        private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
             if (ProcOpen)
             {
                 //THESE 
                 FirstCustomControl.vlCount = m.ReadByte("base+007C1DAC,0x14,0x4");

                 FirstCustomControl.roomID = m.ReadByte("base+003CA150,0x0");

                 FirstCustomControl.diff = m.ReadDouble("base+007B4A3C,0x0,0x2c,0x10,0x7ec,0x300");
                 firstCustomControl1.NotifyValueChanged();
             }
       }
}

Upvotes: 1

Related Questions