• 1405/03/16

تمرین ازاد - دیکشنری کوچیک 3 زبانه :

سلام و خسته نباشید استاد 

من اینجا از 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;
        }
    }
}
  • 1405/03/16
  • ساعت 21:34

بسیار عالی 

چه تمرین خوبی انجام دادید