سلام و خسته نباشید استاد
من اینجا از json کمک گرفتم و ممنون میشم نظرتون رو بهم بگید
class DataBase :
public class DataBase
{
public static List<ListLanguage> list = new List<ListLanguage>();
public static string filePath = "data.json";
} class ListLanguage :
public class ListLanguage
{
public string Word_Persian { get; set; }
public string Word_English { get; set; }
public string Word_German { get; set; }
}class Edit :
public class Edit
{
public static bool isEdit = false;
public static int indexEdit;
public static string Edit_Persian { get; set; }
public static string Edit_English { get; set; }
public static string Edit_German { get; set; }
}Form1 :
namespace Language
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Refresh()
{
dgvLanguage.Rows.Clear();
foreach (var n in DataBase.list)
{
dgvLanguage.Rows.Add(n.Word_German, n.Word_English, n.Word_Persian);
}
CheckingBTN();
}
public void CheckingBTN()
{
btnDelete.Enabled = DataBase.list.Count > 0;
btnEdit.Enabled = DataBase.list.Count > 0;
}
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists(DataBase.filePath))
{
string jsonString = File.ReadAllText(DataBase.filePath);
DataBase.list = JsonSerializer.Deserialize<List<ListLanguage>>(jsonString);
}
else
{
string listjson = JsonSerializer.Serialize(DataBase.list);
File.WriteAllText(DataBase.filePath, "");
}
CheckingBTN();
Refresh();
}
private void btnAdd_Click(object sender, EventArgs e)
{
frmAdd frmAdd = new frmAdd();
frmAdd.ShowDialog();
Refresh();
}
private void btnDelete_Click(object sender, EventArgs e)
{
if (dgvLanguage.CurrentRow != null)
{
int index = dgvLanguage.CurrentRow.Index;
DialogResult result = MessageBox.Show("Are you sure?", "Delete", MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
DataBase.list.RemoveAt(index);
Refresh();
}
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
string listjson = JsonSerializer.Serialize(DataBase.list);
File.WriteAllText(DataBase.filePath, listjson);
}
private void btnEdit_Click(object sender, EventArgs e)
{
if(dgvLanguage.CurrentRow != null)
{
Edit.indexEdit = dgvLanguage.CurrentRow.Index;
Edit.isEdit = true;
Edit.Edit_German = DataBase.list[Edit.indexEdit].Word_German;
Edit.Edit_English = DataBase.list[Edit.indexEdit].Word_English;
Edit.Edit_Persian = DataBase.list[Edit.indexEdit].Word_Persian;
frmAdd frmAdd = new frmAdd();
frmAdd.ShowDialog();
Refresh();
}
}
}
}frmAdd :
namespace Language
{
public partial class frmAdd : Form
{
public frmAdd()
{
InitializeComponent();
}
private void frmAdd_Load(object sender, EventArgs e)
{
if (Edit.isEdit == true)
{
this.Text = "Edit";
groupBox1.Text = "Form Edit";
txtGerman.Text = Edit.Edit_German;
txtEnglish.Text = Edit.Edit_English;
txtPersian.Text = Edit.Edit_Persian;
}
else
{
groupBox1.Text = "Form Add";
this.Text ="Add";
}
}
private void btnSave_Click(object sender, EventArgs e)
{
switch (Edit.isEdit)
{
case true:
{
if (txtGerman.Text != "" && txtEnglish.Text != "" && txtPersian.Text != "")
{
DataBase.list[Edit.indexEdit].Word_German = txtGerman.Text;
DataBase.list[Edit.indexEdit].Word_English = txtEnglish.Text;
DataBase.list[Edit.indexEdit].Word_Persian = txtPersian.Text;
Edit.isEdit = false;
this.Close();
}
break;
}
case false:
{
ListLanguage l1 = new();
if (txtGerman.Text != "" && txtEnglish.Text != "" && txtPersian.Text != "")
{
//MessageBox.Show("ok");
//ListLanguage l1 = new(txtGerman.Text, txtEnglish.Text, txtPersian.Text);
l1.Word_German = txtGerman.Text;
l1.Word_English = txtEnglish.Text;
l1.Word_Persian = txtPersian.Text;
DataBase.list.Add(l1);
this.Close();
}
else
{
MessageBox.Show("No !!!");
}
break;
}
}
}
private void frmAdd_FormClosing(object sender, FormClosingEventArgs e)
{
Edit.isEdit = false;
txtGerman.Text = null;
txtEnglish.Text = null;
txtPersian.Text = null;
}
}
}بسیار عالی
چه تمرین خوبی انجام دادید