Skip to main content

Accessing a windows form controls from another class

Answer is in this page:

http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=34453

In case its not accessible

If we have two classes like these

testclass.cs:

using System;
using System.Collections.Generic;
using System.Text;

namespace clTestProg
{
public class testClass
{

public void InitControls(System.Windows.Forms.GroupBox gbx)
{
System.Windows.Forms.Button buttonODelete = new System.Windows.Forms.Button();
System.Windows.Forms.Button buttonOUpdate = new System.Windows.Forms.Button();
System.Windows.Forms.Button buttonOAdd = new System.Windows.Forms.Button();
//
// buttonODelete
//
buttonODelete.Location = new System.Drawing.Point(251, 324);
buttonODelete.Name = "buttonODelete";
buttonODelete.Size = new System.Drawing.Size(75, 23);
buttonODelete.TabIndex = 0;
buttonODelete.Text = "&Delete";
buttonODelete.UseVisualStyleBackColor = true;
buttonODelete.Click += new System.EventHandler(buttonUniDel_Click);
//
// buttonOUpdate
//
buttonOUpdate.Location = new System.Drawing.Point(170, 324);
buttonOUpdate.Name = "buttonOUpdate";
buttonOUpdate.Size = new System.Drawing.Size(75, 23);
buttonOUpdate.TabIndex = 0;
buttonOUpdate.Text = "&Update";
buttonOUpdate.UseVisualStyleBackColor = true;
buttonOUpdate.Click += new System.EventHandler(buttonUniEdit_Click);
//
// buttonOAdd
//
buttonOAdd.Location = new System.Drawing.Point(89, 324);
buttonOAdd.Name = "buttonOAdd";
buttonOAdd.Size = new System.Drawing.Size(75, 23);
buttonOAdd.TabIndex = 0;
buttonOAdd.Text = "&Add";
buttonOAdd.UseVisualStyleBackColor = true;
buttonOAdd.Click += new System.EventHandler(buttonUniAdd_Click);

gbx.Controls.Add(buttonODelete);
gbx.Controls.Add(buttonOUpdate);
gbx.Controls.Add(buttonOAdd);
}

private void buttonUniAdd_Click(object sender, EventArgs e)
{
testProg.Form1 frmTest = (testProg.Form1)System.Windows.Forms.Application.OpenForms["Form1"];
System.Windows.Forms.Button thisBtn = (System.Windows.Forms.Button)sender;
System.Windows.Forms.Button btnDel = (System.Windows.Forms.Button)frmTest.Controls["buttonODel"];
thisBtn.Text = "&Cancel";
btnDel.Enabled = false;


}

Form1.cs:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace testProg
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void buttonTest_Click(object sender, EventArgs e)
{
clTestProg.testClass myLib = new clTestProg.testClass();
myLib.InitControls(groupBox1);

}
}
}

Note: the form only has a 2 controls a groupbox with the name groupBox1 and a button with the name buttonTest. The form name is Form1.



To access the controls we have to write the following code:

testProg.Form1 frmTest = (testProg.Form1)System.Windows.Forms.Application.OpenForms["Form1"];
System.Windows.Forms.GroupBox gbx = (System.Windows.Forms.GroupBox)
frmtest.Controls["groupBox1"];
System.Windows.Forms.Button thisBtn = (System.Windows.Forms.Button)sender;
System.Windows.Forms.Button btnDel = (System.Windows.Forms.Button)gbx.Controls["buttonODelete"]; // this seems to be name rather than buttonODel
thisBtn.Text = "&Cancel";
btnDel.Enabled = false;

Comments

Popular posts from this blog

wget error–“zsh: parse error near &”

There is no doubt that I prefer wget way over any other type of downloads…Syntax: wget <DOWNLOAD_URL>If you get this error “zsh: parse error near &” then its probably because your download URL has a “&” so you should try giving your DOWNLOAD_URL in double quoteswget “<DOWNLOAD_URL>”If you are trying to download from a site which needs you to give your credentials then you can try giving it this waywget --http-user=<UserName> --http-password=<Password> “<DOWNLOAD_URL>”Hope this helps

How to check if my xpath is valid using firebug?

Yes, you can verify if your xpath is pointing to the right source on the web application under test using FireBug. Here is how: 


Go to the Web Application under test We'll take Google for simplicity reasons
Open FireBug - Go to the Console Console can also be seen at the bottom of the page, so don't worry they both are the same. They can be switched as follows: 


Type in $x("Your xpath here") on the command line prompt as shown below:

Hit Enter/RunYou will get to see the element which was filtered out with your XPath expression

How to Unpack a tar file on Windows?

On Windows:
You can download a simple command line tool to do this.
You can download the tool from here Usage can be found on the website but pasting it here too for convenience: C:\>TarTool.exe
Usage :
C:\>TarTool.exe sourceFile destinationDirectory
C:\>TarTool.exe D:\sample.tar.gz ./
C:\>TarTool.exe sample.tgz temp
C:\>TarTool.exe -x sample.tar temp
TarTool 2.0 Beta supports bzip2 decompression for files with extensions like tar.bz2 and .bz2.
TarTool -xj sample.tar.bz2 temp
or
TarTool -j sample.bz2
Download TarTool 2.0 Beta from here
Unpack a .txz file on Windows
Use the 7zip tool to unpack a .txz file on windows

On Linux:
You can use the bzip2 and tar combined to do this…
for ex: bzip2 –cd <tar.bz_fileName> | tar –xvf -
This will unpack the contents of the tar.bz file

Happy Un-Tar-ing