473,387 Members | 1,553 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Need to extract the Click event from tsMenuItem.Events

newItem and tsMenuItem are ToolStripMenuItems.

I'd like to add the click event in tsMenuItem to newItem.

Can't do this because Events is Protected:

newItem.Events.AddHandlers(tsMenuItem.Events);

Can't do this because Click must be on the left side:

newItem.Click += tsMenuItem.Click;

Is there some way I can extract the Click event from tsMenuItem.Events so
that I can do this:

newItem.Click += ??

Thanks in advance
Apr 1 '08 #1
11 1373
On Tue, 01 Apr 2008 12:26:42 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
newItem and tsMenuItem are ToolStripMenuItems.

I'd like to add the click event in tsMenuItem to newItem.
So you want the tsMenuItem.Click event handlers to be called in response
to a Click event on newItem?

What about this:

newItem.Click += delegate(object sender, EventArgs e)
{ tsMenuItem.PerformClick(); };

Pete
Apr 1 '08 #2
Well, now I have my collection of code that doesn't work and your statement
that does.

I'm quite new to C#. Could you add a few words about the syntax and how it
works.

I not sure if you are defining a Delagate or declaring one.
Thanks very much
"Peter Duniho" <Np*********@nnowslpianmk.comwrote in message
news:op***************@petes-computer.local...
On Tue, 01 Apr 2008 12:26:42 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
newItem and tsMenuItem are ToolStripMenuItems.

I'd like to add the click event in tsMenuItem to newItem.
So you want the tsMenuItem.Click event handlers to be called in response
to a Click event on newItem?

What about this:

newItem.Click += delegate(object sender, EventArgs e)
{ tsMenuItem.PerformClick(); };

Pete
Apr 1 '08 #3
On Tue, 01 Apr 2008 15:04:35 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
Well, now I have my collection of code that doesn't work and your
statement
that does.

I'm quite new to C#. Could you add a few words about the syntax and how
it
works.

I not sure if you are defining a Delagate or declaring one.
Sure. It seems to me that the terms "defining" and "declaring" are not
sufficiently unambiguous. However, in this case the delegate type is
already defined (it's the type used by the Click event, which is
EventHandler), and you are declaring an anonymous method to be used to
create the delegate instance added to the Click event.

As the name suggests, it's basically a method without a name. You could
do the exact same thing by writing a named method that calls
"tsMenuItem.PerformClick()", and adding that named to the event instead.
For example, a method like this:

void ClickRedirect(object sender, EventArgs e)
{
tsMenuItem.PerformClick();
}

and then elsewhere a line of code that looks like:

newItem.Click += ClickRedirect;

Using the anonymous method allows the code to be more self-contained IMHO,
but otherwise it's more a matter of preference, at least in this
particular situation.

Pete
Apr 1 '08 #4

The trouble I'm having is that if I look at the methods and constructors I
can't find one that fits:
newItem.Click += delegate(object sender, EventArgs e)
{ tsMenuItem.PerformClick(); };

Thanks again

"Peter Duniho" <Np*********@nnowslpianmk.comwrote in message
news:op***************@petes-computer.local...
On Tue, 01 Apr 2008 15:04:35 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
Well, now I have my collection of code that doesn't work and your
statement
that does.

I'm quite new to C#. Could you add a few words about the syntax and how
it
works.

I not sure if you are defining a Delagate or declaring one.
Sure. It seems to me that the terms "defining" and "declaring" are not
sufficiently unambiguous. However, in this case the delegate type is
already defined (it's the type used by the Click event, which is
EventHandler), and you are declaring an anonymous method to be used to
create the delegate instance added to the Click event.

As the name suggests, it's basically a method without a name. You could
do the exact same thing by writing a named method that calls
"tsMenuItem.PerformClick()", and adding that named to the event instead.
For example, a method like this:

void ClickRedirect(object sender, EventArgs e)
{
tsMenuItem.PerformClick();
}

and then elsewhere a line of code that looks like:

newItem.Click += ClickRedirect;

Using the anonymous method allows the code to be more self-contained IMHO,
but otherwise it's more a matter of preference, at least in this
particular situation.

Pete
Apr 2 '08 #5
(my apologies for the late reply...I only just now noticed that this
message, along with five others, somehow got stuck in my Outbox)

On Wed, 02 Apr 2008 05:19:58 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
The trouble I'm having is that if I look at the methods and constructors
I
can't find one that fits:
newItem.Click += delegate(object sender, EventArgs e)
{ tsMenuItem.PerformClick(); };
I don't know what that means. Are you trying to find a method or
constructor named "delegate"? If so, you're right...you're not going to
find it.

The word "delegate" is a C# keyword. In one context, it is used to
declare a new delegate type. But in the above context, it's used to
declare an anonymous method. By definition, the anonymous method has no
name and so you won't find it listed in any list of methods.

Pete
Apr 9 '08 #6
I understand: anonymous method

I would like to read about the statement
delegate(object sender, EventArgs e) { tsMenuItem.PerformClick(); };

I can see it doesn't fit the format of a declaration (which you verify
below)
Nor that of a Delegate Constructor

You see what I mean? I look at MSDN library and can't find a format that
fits your construction.
Thanks


"Peter Duniho" <Np*********@nnowslpianmk.comwrote in message
news:op***************@petes-computer.local...
(my apologies for the late reply...I only just now noticed that this
message, along with five others, somehow got stuck in my Outbox)

On Wed, 02 Apr 2008 05:19:58 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
The trouble I'm having is that if I look at the methods and constructors
I
can't find one that fits:
newItem.Click += delegate(object sender, EventArgs e)
{ tsMenuItem.PerformClick(); };
I don't know what that means. Are you trying to find a method or
constructor named "delegate"? If so, you're right...you're not going to
find it.

The word "delegate" is a C# keyword. In one context, it is used to
declare a new delegate type. But in the above context, it's used to
declare an anonymous method. By definition, the anonymous method has no
name and so you won't find it listed in any list of methods.

Pete
Jun 27 '08 #7
On Sat, 12 Apr 2008 01:39:58 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
I understand: anonymous method
Are you sure? :)
I would like to read about the statement
delegate(object sender, EventArgs e) { tsMenuItem.PerformClick(); };

I can see it doesn't fit the format of a declaration (which you verify
below)
Nor that of a Delegate Constructor
I don't see how you can understand "anonymous method" but not understand
the expression you're asking about. I can only conclude that you're
mistaken about understanding "anonymous method". So, I'll recommend that
you read this page:
http://msdn2.microsoft.com/en-us/library/0yw3tz5k.aspx

And as well, look around in related sections. The above page is the
section on anonymous methods from the C# Programming Guide. The very
first code example on that page is basically the same as what I posted.

Pete
Jun 27 '08 #8

"Peter Duniho" <Np*********@nnowslpianmk.comwrote in message
news:op***************@petes-computer.local...
On Sat, 12 Apr 2008 01:39:58 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
>I understand: anonymous method

Are you sure? :)
No, but I thought that if Foo was a function that returned a string
"anonymous" would apply if I wrote
Console.Writeline(Foo);
Is that not true?

Anyway, I appreciate the pointer to the site.
That explained a lot.
thanks

>
>I would like to read about the statement
delegate(object sender, EventArgs e) { tsMenuItem.PerformClick(); };

I can see it doesn't fit the format of a declaration (which you verify
below)
Nor that of a Delegate Constructor

I don't see how you can understand "anonymous method" but not understand
the expression you're asking about. I can only conclude that you're
mistaken about understanding "anonymous method". So, I'll recommend that
you read this page:
http://msdn2.microsoft.com/en-us/library/0yw3tz5k.aspx

And as well, look around in related sections. The above page is the
section on anonymous methods from the C# Programming Guide. The very
first code example on that page is basically the same as what I posted.

Pete

Jun 27 '08 #9
On Sat, 12 Apr 2008 16:45:14 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
No, but I thought that if Foo was a function that returned a string
"anonymous" would apply if I wrote
Console.Writeline(Foo);
Is that not true?
That's not true. Ignoring for the moment that if Foo is a function (i.e.
"method"), writing "Console.WriteLine(Foo);" doesn't make sense... The
method "Foo" has a name. Something with a name isn't anonymous, by
definition.

An anonymous method is a method without a name. You create one using the
"delegate" key word, as shown in my code example and as shown in the
documentation to which I refer you.
Anyway, I appreciate the pointer to the site.
That explained a lot.
Glad it helped. :)

Pete
Jun 27 '08 #10

"Peter Duniho" <Np*********@nnowslpianmk.comwrote in message
news:op***************@petes-computer.local...
On Sat, 12 Apr 2008 16:45:14 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
>No, but I thought that if Foo was a function that returned a string
"anonymous" would apply if I wrote
Console.Writeline(Foo);
Is that not true?

That's not true. Ignoring for the moment that if Foo is a function (i.e.
"method"), writing "Console.WriteLine(Foo);" doesn't make sense... The
method "Foo" has a name. Something with a name isn't anonymous, by
definition.
But the string variable does not have a name.

Thanks for all the help

>
An anonymous method is a method without a name. You create one using the
"delegate" key word, as shown in my code example and as shown in the
documentation to which I refer you.
>Anyway, I appreciate the pointer to the site.
That explained a lot.

Glad it helped. :)

Pete

Jun 27 '08 #11

"AAaron123" <aa*******@roadrunner.comwrote in message
news:eC**************@TK2MSFTNGP04.phx.gbl...
>
"Peter Duniho" <Np*********@nnowslpianmk.comwrote in message
news:op***************@petes-computer.local...
>On Sat, 12 Apr 2008 16:45:14 -0700, AAaron123 <aa*******@roadrunner.com>
wrote:
>>No, but I thought that if Foo was a function that returned a string
"anonymous" would apply if I wrote
Console.Writeline(Foo);
Is that not true?

That's not true. Ignoring for the moment that if Foo is a function (i.e.
"method"), writing "Console.WriteLine(Foo);" doesn't make sense... The
method "Foo" has a name. Something with a name isn't anonymous, by
definition.

But the string variable does not have a name.
I just had ocassion to read what I said.
I do see the difference between the function return being anonomyous and the
body being anonomous.
Thanks again
>
Thanks for all the help

>>
An anonymous method is a method without a name. You create one using the
"delegate" key word, as shown in my code example and as shown in the
documentation to which I refer you.
>>Anyway, I appreciate the pointer to the site.
That explained a lot.

Glad it helped. :)

Pete


Jun 27 '08 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Paolo Mancini | last post by:
Hi all, I have a page with many different elements: <a href="...."> ... </a>, listboxes, radiobuttons, etc. Can I use javascript to prevent the user from interacting with the page? That is:...
8
by: Tim Geiges | last post by:
Since I am being challenged with learning c# I figured I could pass some of the pain on to you guys :-) I have another question(this one is important for me to fix before I can get my app to Beta)...
4
by: Rochdi | last post by:
Hi guys, I'm using the VS 2002 version and for a TextBox, I've selected the Textbox control from the left combo in the code page and I've seen many events but I couldn't find the Click, GotFocus...
0
by: Demetri | last post by:
I have created a web control that can be rendered as either a linkbutton or a button. It is a ConfirmButton control that allows a developer to force a user to confirm if they intended to click it...
10
by: Peter Michaux | last post by:
Hi, Today I have been testing the event models from Netscape 4.8 and IE 4 to the current crop of browsers. I'd like to write a small event library similar in purpose to the Yahoo! UI event...
4
by: AshishMishra16 | last post by:
HI friends, I am using the Flex to upload files to server. I m getting all the details about the file, but I m not able to upload it to Server. Here is the code i m using for both flex & for...
1
by: andy.hume | last post by:
Hello, Is there any cross-browser method of determining whether a click event was triggered by a mouse left click or the keyboard's 'enter' key? I was expecting event.button, or event.which to...
11
by: darrel | last post by:
Trying to get back into .net again after being out of it for a while. I'm trying to figure out the proper way to handle multiple events via a try catch. What I'm confused about is the proper...
4
by: SpreadTooThin | last post by:
I'm running Visual Basic Express Editon 2008. I have a project that references an OLE object called MyObject That object fires events. How do I declare the event handler in the Main Form class...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.