Solved

VERY Easy C# Question

Posted on 2004-04-18
4
227 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
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…

828 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