Reputation: 135
I'm new to winforms and a beginner in c#. I created a simple application using else if. The user is to enter a value between 0 and 10 and press a button. If the number is between that range, a messagebox pops giving a message along with the number entered. But if the number is higher than 10, a messagebox pops saying "The number must be below 10". So far I got all this working but now I would like to have class handling the logic behind it but I don't know how to make the class1.cs and the Form1.cs to access each other's info. To my understanding, Class1.cs is to get the value entered from Form1, analyze it and return a value. Then Form1.cs is to take that returned value and display it -am I right?-. But i don't know how to do this.
What I'm asking here basically is if you could show me what do I have to put into my class1.cs so it will do the if/else logic within itself instead of doing it in Form1.cs (the way it's now).
Thank you guys !
Form1.cs
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void btnDone_Click(object sender, EventArgs e)
{
double number = Convert.ToDouble(txtNumber.Text);
if (number > 10)
{
MessageBox.Show("Number must be below 10");
}
else {
MessageBox.Show("Good ! You entered : " + number);
}
}
}
}
Class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication2
{
class Class1
{
}
}
Upvotes: 0
Views: 9315
Reputation: 2195
you need pass "form1" instantiated to class1:
something like:
Class1 class1 = new Class1(this);
in class1:
namespace WindowsFormsApplication2 {
public class 1 {
private Form1 form1;
public Class1(Form1 Form1) {
form1 = Form1;
}
public GetTxtMessage() {
return form1.txtNumber.Text;
}
}
}
Upvotes: 0
Reputation: 4907
public static class Class1
{
public static string GetIsValidNumberMessgae(string text)
{
string message;
int number;
if(int.TryParse(text,out number))
{
if (number > 10)
message="Number must be below 10";
else
message="Good ! You entered : " + number;
}
else
message="Not valid number";
return message;
}
}
And:
private void btnDone_Click(object sender, EventArgs e)
{
MessageBox.Show(Class1.GetIsValidNumberMessgae(txtNumber.Text));
}
Upvotes: 2
Reputation: 61
private void label1_Click(object sender, EventArgs e)
{
Class1 cls = new Class1();
// cls.methodName(parameters);
}
Upvotes: 0