Solved

Call a procedure from another procedure on a different form in C#

Posted on 2013-06-27
14
323 Views
Last Modified: 2013-07-10
Hey guys!!

I am trying to call a public procedure 'postMessageToSystem()' on frmPOSLoad from a procedure on frmViewRX and I can't seem to find a straightforward answer.

Help please!!!  :-)

Jerry
0
Comment
Question by:JDL129
  • 9
  • 5
14 Comments
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 39281771
You would have to instantaite the form:

eg:

Form v = new frmViewRX();
v.postMessageToSystem();

If you're having a bunch of common functions it's better to create a seperate class (possibly even static) and do something like:

ApplicationHelper.postMessageToSystem();

static class ApplicationHelper
{
   public ApplicationHelper()
{
}
  public static postMessageToSystem()

{
   // code goes here.
}
}
0
 

Author Comment

by:JDL129
ID: 39281898
ged325!!!  Thanks for the post!!

I am a newbie in C#.  Could you possibly expound a little.  I tried both methods and could get neither to work.  I place the first part of the answer on frmViewRX but the error I received was that it couldn't find postMessageToSystem which is on frmPOSLoad.

I also tried the second part but that was a disaster.  I added a new class but didn't know exactly where to put the code.

Thanks again,
Jerry
0
 

Author Comment

by:JDL129
ID: 39282086
ged325!!  I went back and tried adding the class again and I'm down to one error on then
public static postMessageToSystem:


          Method must have a turn type.

Thanks for the post!!!!
Jerry
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:JDL129
ID: 39282112
ged325!!  Actually all I want to do is run the code in the class.

thanks,
Jerry
0
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 39282181
forgot the void . . . was typing it off the top of my head.

Change void if you need to return something.


  public static void postMessageToSystem()
{
}
0
 

Author Comment

by:JDL129
ID: 39282703
ged325!!!  My but you overestimate me!!!!

Can you give me the bite sized instructions as to how to run a procedure on a different form instead of the chunks you guru's use?  :-)

Surely there is an easy way to do this:
I am trying to call a public procedure 'postMessageToSystem()' on frmPOSLoad from a procedure on frmViewRX.

Thanks,

Jerry
0
 
LVL 40

Accepted Solution

by:
Kyle Abrahams earned 200 total points
ID: 39282796
in your frmViewRX:


Form f = new frmPOSLoad();
   f.postMessageToSystem();
0
 

Author Comment

by:JDL129
ID: 39283292
ged325!!  Thanks for the post!!

I put the code in as instructed but I get this error:

Error      98      'System.Windows.Forms.Form' does not contain a definition for 'postMessageToSystem' and no extension method 'postMessageToSystem' accepting a first argument of type 'System.Windows.Forms.Form' could be found (are you missing a using directive or an assembly reference?)      C:\POSiTrackRx\POSiTrackC\frmViewRX.cs      2282      15      POSiTrackC


Thanks,

Jerry
0
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 39284368
cna you post the entire source of
frmPOSLoad and the procedure in question?
0
 

Author Comment

by:JDL129
ID: 39284583
Sorry but I finally just copied the frmPOSLoad code to frmViewRX.  Why did I get the error?  I can't believe it's this hard!  In vb6 and vb.net it is much easier.

Thanks anyway,

Jerry
0
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 39294598
VB .Net and C# should be the same, not sure why oyu're getting the error without seeing the relevant code.
0
 

Author Comment

by:JDL129
ID: 39295480
ged325!!  

The called procedure is 2 or 3 pages long and doesn't return a value.

I'm not sure why it would matter what was in the procedure.  All I want to do is to execute the procedure from a different form and then return the execution to the originating form.

Thanks for the post!!

Jerry
0
 

Author Comment

by:JDL129
ID: 39298831
ged325!!

Are we done?

Thanks for the try!!

Jerry
0
 

Author Closing Comment

by:JDL129
ID: 39314963
Thanks!!  I appreciate the time invested!!
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
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…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

763 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