Solved

C# private void btnConnect_Click(object sender, EventArgs e) calling a button generated function

Posted on 2011-09-14
9
1,135 Views
Last Modified: 2013-12-14
I have a function that is run off a button on the form but wish to call it from another normal function were i do not have the mouse pos set up for the event e

private void btnConnect_Click(object sender, EventArgs e)

i can use
btnConnect_Click("contact", EventArgs e)
its looking for {X = 33 Y = 10 Button = Left}  System.EventArgs  System.Windows.Forms.MouseEventArgs}

but not sure how to recreate the EventArgs e varable that the function wants

Argument '2': cannot convert from 'string' to 'System.EventArgs'
0
Comment
Question by:sydneyguy
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 6

Accepted Solution

by:
effes earned 167 total points
ID: 36538799
Hi sydneyguy,

just create antoher method that does the same thing the btnConnect_Click method does, but takes only the X- and Y-coordinates as input parameters (if that's all you need). You can then call this new method from inside the btnConnect_Click and wherever you want.

Hope that helps,
Frank
0
 
LVL 16

Assisted Solution

by:SriVaddadi
SriVaddadi earned 167 total points
ID: 36538803
why do you want  to call that event handler? Instead refactor the event handler code into a method and call that method in both event handler and you normal function  something like below

private void btnConnect_Click(object sender, EventArgs e)
{
    Connect();
}
private void Connect()
{
}
private void NormalMethod()
{
  Connect();
}

Does not work?
0
 
LVL 16

Expert Comment

by:SriVaddadi
ID: 36538830
You could create EventArgs like any other object
new EventArgs();

new MouseEventArgs() { Button=MouseButtons.Left,Location = new Point(33,10)}
0
 
LVL 85

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 166 total points
ID: 36538885
If you're not actually using the coords in the code then just use:

    btnConnect.PeformClick();
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:sydneyguy
ID: 36538980
the below code throws up the below errors

private void deleteemail_Click(object sender, EventArgs e)
        {
            new EventArgs();

            new MouseEventArgs() { Button=MouseButtons.Left,Location = new Point(33,10)}
        }

throws up  error shows
0
 

Author Comment

by:sydneyguy
ID: 36538995
I oftern run into this prop and woudl really like to get the artificial call going so that i do not have to re write code when an artificial call will do the perfect job
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 36539110
Did you see my comment back here?
http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_27308500.html#36538885

Just use the PerformClick() method of the Button you want to click...
0
 
LVL 16

Expert Comment

by:SriVaddadi
ID: 36540044
I suggested on how you could create EventArgs and MouseEventArgs. You cannot use the lines as is.

I agree with Idle_mind that you are better off using PerformClick() method of the button.

0
 

Author Closing Comment

by:sydneyguy
ID: 36562279
thanks every one looking at your response i have used a variation on all three inputs, so awarded the points as such thanks for your help
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now