Jag håller på med ett program som hanterar kundinformation och jag kommer inte vidare. Det är första gången jag ger mig på ett kundregister. Det är mycket kod eftersom det är många klasser och varje klass har sin uppgift. Jag har problem just när det gäller mainform och customerform men tänkte bifoga lite annan kod också för att underlätta för den som läser detta att få en överblick och hjälpa mig att analysera vart problemet är (har inte kodat klart i mainform och customerform men övriga delar av programmet är klart). Problemet just nu är att jag inte kan få upp Customerform när jag i mainform klickar på ny kund Det var längesedan jag arbetade med WinForms men jag tror inte att du ska skriva: Fast mainform får jag upp precis som det ska gå och i program.cs så har jag skrivit Application.Run(new MainForm()); som redan påpekats, använd inte application.run för kundformuläret. Nu får jag upp iaf kundformuläret så nu är det bara fixa med det övriga :) Du hade så rätt så :)Problem med kundregister
namespace Customer_Registry
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
if(MessageBox.Show("Do you want to exit?", "Exit Program?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Application.Exit();
}
}
private void lsbCustomer_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void AddToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Run(new CustomerForm("Add Customer"));
}
}
}
namespace Customer_Registry
{
public partial class CustomerForm : Form
{
private Customer m_customer;
private bool m_closeForm;
public CustomerForm(string title)
{
InitializeComponent();
this.Text = title;
m_closeForm = true;
}
public Customer CustomerData
{
get { return m_customer; }
set
{
if (value != null)
m_customer = value;
//UpdateGUI();
}
}
private void btnOK_Click(object sender, EventArgs e)
{
//m_customer.ContactData.AddressData.street = txtStreet.Text;
//m_customer.ContactData.AddressData.zipcode = txtZipCode.Text;
//m_customer.ContactData.AddressData.city = txtCity.Text;
//m_customer.ContactData.PhoneData.home = txtHomePhone.Text;
//m_customer.ContactData.PhoneData.cell = txtCellPhone.Text;
//m_customer.ContactData.EmailData.Personal = txtPersonalEmail.Text;
//m_customer.ContactData.EmailData.Work = txtWorkEmail.Text;
//m_customer.ContactData.FirstName = txtFirstName.Text;
//m_customer.ContactData.LastName = txtLastName.Text;
}
private void btnCancel_Click(object sender, EventArgs e)
{
}
private void CustomerForm_Load(object sender, EventArgs e)
{
}
}
}
namespace Customer_Registry
{
public class Customer
{
private Contact m_contact;
private string m_id;
public Customer() : this(null)
{
m_contact = new Contact();
}
public Customer(Contact contactIn) : this(contactIn, string.Empty)
{
}
public Customer(Contact contactIn, string id)
{
m_contact = contactIn;
m_id = id;
}
public Contact ContactData { get { return m_contact;} set { m_contact = value;} }
public string ID { get { return m_id; } set { m_id = value;} }
public override string ToString()
{
string strOut = string.Format("{0,-20}", m_contact);
return strOut;
}
}
}
namespace Customer_Registry
{
public class Address
{
private string m_city;
private Countries m_country;
private string m_street;
private string m_strErrMessage;
private string m_zipCode;
public Address()
: this(string.Empty, string.Empty, string.Empty)
{}
public Address(Address theOther)
{
m_street = theOther.m_street;
m_zipCode = theOther.m_zipCode;
m_city = theOther.m_city;
m_country = theOther.m_country;
}
public Address(string street, string zip, string city)
: this(street, zip, city, Countries.Sweden)
{}
public Address(string street, string zip, string city, Countries country)
{
this.m_street = street;
this.m_zipCode = zip;
this.m_city = city;
this.m_country = country;
}
public string street { get { return m_street; } set { m_street = value; } }
public string zipcode { get { return m_zipCode; } set { m_zipCode = value;} }
public string city { get { return m_city;} set { m_city = value;} }
public Countries country { get { return m_country; } set { m_country = value; } }
public void CheckData(bool Okey, ref string m_strErrMessage)
{
if ((m_street.Length < 5) && (m_street.Length > 35))
{
m_strErrMessage = "The street name can't be less than 5 characters or more than 35 characters.";
Okey = false;
}
else if ((m_zipCode.Length < 3) && (m_zipCode.Length > 10))
{
m_strErrMessage = "The zipcode can't be less than 3 characters or more than 10 characters.";
Okey = false;
}
else if ((m_city.Length < 3) && (m_city.Length > 35))
{
m_strErrMessage = "The city name can't be less than 3 characters or more than 35 characters.";
Okey = false;
}
else
{
Okey = true;
}
}
public void GetCountryString(Countries oCountry, System.Windows.Forms.ComboBox cmbCountry)
{
string[] data = Enum.GetNames(typeof(Countries));
for (int i = 0; i < data.Length; i++ )
{
string s = data[i].Replace("_", " ");
data[i] = s;
}
cmbCountry.Items.AddRange(data);
}
public override string ToString()
{
string strOut = string.Format("{0,-20} {1, -20} {2,-20} {3,-20}", m_street, m_zipCode, m_city, m_country);
return strOut;
}
}
}Sv: Problem med kundregister
Application.Run(new CustomerForm("Add Customer"));
utan istället något i stil med:
var cForm = new CustomerForm("Add Customer");
cForm.Show();
Sv:Problem med kundregister
det är därför det är så skumt att customerform inte kommer upp när man ska lägga till kund...så tror felet sitter i customerform men vet inte vart
så är står det i en del utav program.cs
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}Sv: Problem med kundregister
det är bara mainfönstret som ska startas på det sättet.Sv:Problem med kundregister