0
제 목표는 버튼 클릭 (모든 것을 닫을 때와 반대)을 통해 모든 양식 데이터를 저장하는 것입니다. 이를 위해 다음 스레드에서 주어진 예제를 사용했습니다. Saving the form state then opening it back up in the same state양식 상태를 xml로 작성하기 C#
내 능력을 최대한 발휘하도록 코드를 수정하려고 시도했지만 아무런 결과가 나타나지 않으며 오류가 표시되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
여기 내 코드의 관련 부분입니다 :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Serialization;
namespace WindowsFormsApplication1
{
public partial class frmPayroll : Form
{
SaveData sd = new SaveData();
public frmPayroll()
{
InitializeComponent();
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
writeConfig();
}
private void writeConfig()
{
using (StreamWriter sw = new StreamWriter("config.xml"))
{
sd.Married = rdoMarr.Checked;
sd.PayPd = cbPayPd.Text;
sd.Allow = cbAllow.Text;
sd.Gross = txtGross.Text;
sd.Fit = txtFit.Text;
sd.Soc = txtSoc.Text;
sd.Med = txtMed.Text;
sd.NetPay = txtNet.Text;
sd.PayPd = cbPayPd.Text;
XmlSerializer ser = new XmlSerializer(typeof(SaveData));
ser.Serialize(sw, sd);
}
}
private void frmPayroll_Load(object sender, EventArgs e)
{
if (File.Exists("config.xml"))
{
loadConfig();
}
sd.Married = rdoMarr.Checked;
sd.PayPd = cbPayPd.Text;
sd.Allow = cbAllow.Text;
sd.Gross = txtGross.Text;
sd.Fit = txtFit.Text;
sd.Soc = txtSoc.Text;
sd.Med = txtMed.Text;
sd.NetPay = txtNet.Text;
}
private void loadConfig()
{
XmlSerializer ser = new XmlSerializer(typeof(SaveData));
using (FileStream fs = File.OpenRead("config.xml"))
{
sd = (SaveData)ser.Deserialize(fs);
}
}
}
public struct SaveData
{
public bool Married;
public string PayPd;
public string Allow;
public string Gross;
public string Fit;
public string Soc;
public string Med;
public string NetPay;
}
}
감사를! 나는 그것을 시도하자마자 일했다. 나는 내가 뭘 잘못하고 있는지 알아 내려고 애 쓰고 있었다. C# 클래스를 사용하고 있지만 필수 구성 요소 중 하나를 선택하지 않았기 때문에 때로는 MSDN의 자습서 나 예제 중 많은 부분을 이해하기가 어렵습니다. 지금 명확한 단추를 추가하는 것을 시도하기 위하여. – Gatorneck
나는 당신의 대답에 대해 투표를 시도했지만 충분한 담당자가 아직 없습니다. – Gatorneck
당신은 대답을 내가 받아 들일 수 있습니다 .... 비록 당신이 upvote 수 없습니다. – Naidu