Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7430037
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T09:04:34+00:00 2026-05-29T09:04:34+00:00

I know this is really basic stuff but I’m struggling to wrap my mind

  • 0

I know this is really basic stuff but I’m struggling to wrap my mind around it.

Ok so I have a method that I want to run:

public static void DelegateTest(string testStuff)
{
    for (int i = 0; i < 4; i++)
    {
        Console.WriteLine(testStuff);
    }
}

Then, outside of the scope of this method (but within the scope of my class) I define my delegate with the same output type and input parameters as my method:

public delegate void myDelegate(string test);

I instantiate my delegate like so:

myDelegate md = new myDelegate(DelegateTest);

I can then kick off my method as many times as I like by BeginInvoking the delegate, and the methods will run side by side in separate threads.

md.BeginInvoke("Hello World", null, null);
md.BeginInvoke("Hello World Again", null, null);
md.BeginInvoke("Hello World A Third Time", null, null);

How do I now define an event and only kick off my method asynchronously when the event happens? Also, what are the limitations on what an event can be? Can more or less anything that happens on my computer be defined as an event or only certain things?

Edit: Say for example, after doing the above, I want to create an event and define this event as ‘the space bar has been pressed’. Every time the space bar is pressed, this is the event happening. When the event happens, I want to start my method asynchronously, I don’t want to start my method asynchronously if the space bar hasn’t been pressed.

How would I go about this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T09:04:35+00:00Added an answer on May 29, 2026 at 9:04 am

    Just use Invoke rather than BeginInvoke for synchronous calls.

    EDIT: as per ThePower’s answer, you don’t need the Invoke, you can just call your delegate as if it were a function (because it is!).

    EDIT2: You are actually trying to register an event handler. For this you don’t need to create your own delegate. An example for handling the KeyPress event in WinForms:

    public class MyForm : Form
    {
        public MyForm()
        {
            KeyPress += OnKeyPressHandler;
        }
    
    
        private void OnKeyPressHandler(object sender, KeyPressEventArgs keyPressEventArgs)
        {
         //TODO: whatever you need to do...
        }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So this is pretty basic, but I don't really know C. I want to
This question must be really basic, but if you have any pointers I would
I know this probably really simple but Im not sure what im doing wrong...
I know this is probably really obvious, but I cannot figure out why I
I know this is a really simple question but my google-fu is failing me.
I don't know whether this is really possible, but I'm trying my best. If
I know this sounds like a really obvious question, but it's proving harder to
I know this is probably a really amateur question, but I can't figure this
I know this is possible but I'm not really sure where to start. Has
I know this might seem a controversial question but it really is not meant

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.