Manip wrote:
Works perfectly for me. Please provide more code.
Sure:
namespace vintageMotors
{
public partial class mainForm : Form
{
public mainForm()
{
InitializeComponent();
;
}
#region Add Car Field Validation
private void addMileageText_keyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)
{
e.Handled = true;
errorProvider.SetError(addMileageText, "Numerical values only");
}
else
{
errorProvider.SetError(addMileageText, "");
}
}
private void addYearText_keyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)
{
e.Handled = true;
errorProvider.SetError(addYearText, "Numerical values only");
}
else
{
errorProvider.SetError(addYearText, "");
}
}
private void addSellerPriceText_keyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)
{
e.Handled = true;
errorProvider.SetError(addSellerPriceText, "Numerical values only");
}
else
{
errorProvider.SetError(addSellerPriceText, "");
}
}
private void addSellerPhoneText_keyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8 && e.KeyChar != (char)43 && e.KeyChar != (char)32)
{
e.Handled = true;
errorProvider.SetError(addSellerPhoneText, "Numerical values only");
}
else
{
errorProvider.SetError(addSellerPhoneText, "");
}
}
#endregion
Car car = new Car();
private void addSubmitButton_Click(object sender, EventArgs e)
{
car.Make = addMakeText.Text;
car.Model = addModelText.Text;
car.Year = Convert.ToInt32(addYearText.Text);
car.InitialMileage = Convert.ToInt32(addMileageText.Text);
car.Description = addDescriptionText.Text;
backgroundWorker.RunWorkerAsync();
}
private void backgroundWorker_doWork(object sender, DoWorkEventArgs e)
{
serializeObject(car, "DataStore.xml");
}
private void backgroundWorker_runWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
for (int i = 0; i < this.Controls.Count; i++ )
{
if (this.Controls[i] is TextBox)
{
this.Controls[i].Text = " ";
}
}
MessageBox.Show("New car has been added to the data store successfully!", "New Car Added", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
public void serializeObject(Car car, string file)
{
// Create collection of Car objects
List<Car> carList = new List<Car>();
// Retrieve current Car data
XmlSerializer serializer = new XmlSerializer(typeof(List<Car>));
if (File.Exists(file) == true)
{
FileStream fileStream = new FileStream(file, FileMode.Open);
XmlReader reader = new XmlTextReader(fileStream);
carList = (List<Car>)serializer.Deserialize(reader);
reader.Close();
fileStream.Close();
}
// Add new Car object to collection
carList.Add(car);
// Re-serialize Car collection
File.Delete(file);
TextWriter writer = new StreamWriter(file, true);
serializer.Serialize(writer, carList);
writer.Close();
}
}
}
I've highlighted the code I was talking about in bold.
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.