Solved

VERY Easy C# Question

Posted on 2004-04-18
4
226 Views
Last Modified: 2010-04-15
Hello, i just began playing with C#. I’m used to console C/C++ programming. I am simply wondering how I can pass a text string from one .cs form to another.cs

I have a typical login window, which consists of some textboxes, labels and buttons.


On click I want the event handler to pass the user name and password to a function in a different .cs file that is part of the project, one that holds the authenticate function logic.

I want to do something like this

Form1.cs
...
private void OK_Click(object sender, System.EventArgs e)
                  {
                   authenticate(UserName.Text, Password.Text);
                                                }
...

---------------------------
Authenticate.cs

...
authenticate(string username, string password)
                                {
            if( username == ...etc etc )
                                return etc;
                                }
...

Could some one please explain and show with a basic example how I could pass the text string.  

Thanks in advance! =)
0
Comment
Question by:FOXBAT
  • 2
  • 2
4 Comments
 
LVL 3

Accepted Solution

by:
sohilm earned 60 total points
ID: 10853676
C# is class based, so the above wouldn't work unless authenticate.cs is in its own class and if so it needs to be static so that it can be launched without declaring an instance.

The easiest solution would be for you to keep authenticate subroutine in the same class as the ok_click subroutine. Ex:

Class Form1.cs

{

    private void OK_Click(object sender, System.EventArgs e)
    {
       authenticate(UserName.Text, Password.Text);
     }            

      authenticate(string username, string password)
                                {
          if( username == ...etc etc )
                                return etc;
                                }
...

}

hope this helps.
0
 

Author Comment

by:FOXBAT
ID: 10858657
I need to separate the process logic from Form1.cs

i tried something like this but it didnt work, how can i state the retrun type, or in other words how do i get it to work?

Form1.cs
...
private void OK_Click(object sender, System.EventArgs e)
                  {
                                                 Class1 = new Class1(UserName.Text); }
...


------------------------
Class1.cs
...
public class Class1
      {               public int Check(string uname)
            {
                  if(uname == "aa")
                        return 1;
                  else
                        return 0;
            }
      }

0
 

Author Comment

by:FOXBAT
ID: 10858932
i read a book and got the right syntax

 Class1 obj = new Class1();
if(obj.Check(UserName.Text))...
0
 
LVL 3

Expert Comment

by:sohilm
ID: 10859191
you need to either declare an instance of the class or make it static. I see you know how to declare the instance, and the example below is for static.

public static class class1
{
  public static int Check(string uname)
     {
        if(uname == "aa")
           return 1;
         else
            return 0;
      }
}

now in your ok_click you can do this
   int Valid = Class1.Check(UserName.Text);

0

Featured Post

ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
ASP.NET 5 Templates 2 78
Web Form VB.Net  import CSV 4 39
How can my static class become undefined?? 8 49
Graphics 2 28
This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

777 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