Есть форма для добавления записи, как ее использовать и для изменения записи - C#

Узнай цену своей работы

Формулировка задачи:

Есть форма для добавления записи, хочу ее использоавть и для изменения записи. Изменить свойства кнопок и т.д, заполнить поля я могу через консруктор копирования формы, а как переопределить методы при обработке событий????

Решение задачи: «Есть форма для добавления записи, как ее использовать и для изменения записи»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data;              //DataTable
using System.Data.OleDb;        //OleDbDataAdapter
using System.IO;
using Microsoft.Win32;
using System.ComponentModel;
 
 
namespace Sport
{
 
    /// <summary>
    /// Логика взаимодействия для Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        MemoryStream tmp_img;
        FileInfo t;
        db bd1 = new db();
        DataTable tabel_clubs, tabel_countries;
       
        public Window1()
        {
 
            InitializeComponent();
            tabel_clubs = bd1.GetData("SELECT Код,Название FROM  Clubs ORDER BY Код");
            comboBox3.ItemsSource=MyControls.ItemCollection_fromtbl(tabel_clubs,"Название");
            //Генерировался список клубов
          
            tabel_countries = bd1.GetData("SELECT * FROM  Countries ORDER BY Код");
         comboBox1.ItemsSource = MyControls.ItemCollection_fromtbl(tabel_countries, "Название");
            //Генерировался список стран
            
        }
       public Window1(DataRow reg_data)
        {
 
            InitializeComponent();
 
            this.Title = "Изменение записи игрока";
            button2.Content = "Изменить";
        
 
           tabel_clubs = bd1.GetData("SELECT Код,Название FROM  Clubs ORDER BY Код");
            comboBox3.ItemsSource = MyControls.ItemCollection_fromtbl(tabel_clubs, "Название");
            //Генерировался список клубов
 
            tabel_countries = bd1.GetData("SELECT * FROM  Countries ORDER BY Код");
            comboBox1.ItemsSource = MyControls.ItemCollection_fromtbl(tabel_countries, "Название");
            //Генерировался список стран
           
            textBox1.Text = reg_data["Фамилия"].ToString();
            textBox2.Text = reg_data["Имя"].ToString();
            maskedTextBoxDate.Text = reg_data["Дата_рождения"].ToString();
            comboBox3.SelectedItem = reg_data["Клуб_str"].ToString() ;
            comboBox1.SelectedItem = reg_data["Национальность_str"].ToString();
           
            foreach (ComboBoxItem tmp_coll in comboBox2.Items) {
                if (reg_data["Позиция"].ToString() == tmp_coll.Content.ToString())
                    comboBox2.SelectedItem = tmp_coll;
             }
 
            t = new FileInfo(AppDomain.CurrentDomain.BaseDirectory+reg_data["Фото"]);
            tmp_img = new MemoryStream(File.ReadAllBytes(t.FullName));
            BitmapImage ty = new BitmapImage();
            ty.BeginInit();
            ty.StreamSource = tmp_img;
            ty.EndInit();
            image1.Source = ty;
           
             //Заполнение текущего
        }
        void clear_allbox()
        {
            textBox1.Clear();
            textBox2.Clear();
            maskedTextBoxDate.Clear();
            comboBox1.Text = "";
            comboBox2.Text = "";
            comboBox3.Text = "";
            t = null;
            image1.Source = new BitmapImage(new Uri("pack://application:,,,/Images/nofoto.jpg"));
 
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
 
            OpenFileDialog dlg = new OpenFileDialog();
 
            dlg.Filter = "Файлы изображений|*.jpg;*.bmp;*.png;*.jpeg"; // Filter files by extension
            dlg.Multiselect = false;
            Nullable<bool> result = dlg.ShowDialog();
 
 
            if (result == true)
            {
 
 
 
 
 
                try
                {
 
 
                    string name = dlg.FileName;
                    t = new FileInfo(name);
                    tmp_img = new MemoryStream(File.ReadAllBytes(t.FullName));
                    BitmapImage ty = new BitmapImage();
                    ty.BeginInit();
                    ty.StreamSource = tmp_img;
 
                    ty.EndInit();
 
 
                    image1.Source = ty;
 
 
 
 
                }
 
                catch (Exception w)
                {
                    MessageBox.Show(w.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
 
                }
 
            }
 
 
 
 
 
        }
 
        private void button2_Click(object sender, RoutedEventArgs e)
        {
 
            try
            {
                if (textBox1.Text != "" && textBox2.Text != "" && maskedTextBoxDate.Text != "" && comboBox1.Text != "" && comboBox2.Text != "" && t.Exists)
                {
                    try
                                {
                  string Fam = textBox1.Text;
                  string Nam = textBox2.Text;
                                                string bd = maskedTextBoxDate.Text.ToString();
                                                string pos = comboBox2.Text;
                                                string nat = comboBox1.Text;
                                                string club = comboBox3.Text;
                                               
                                                foreach (DataRow tmp in tabel_clubs.Select())
                                                {
                                                    if (tmp[1].ToString() == comboBox3.Text)
                                                    {
                                                        club = tmp[0].ToString();
 
                                                        break;
                                                    }
                                                }
 
                                                foreach (DataRow tmp in tabel_countries.Select())
                                                {
                                                    if (tmp["Название"].ToString() == comboBox1.Text)
                                                    {
                                                        nat = tmp["Код"].ToString();
 
                                                        break;
                                                    }
                                                }
 
                                                bd1.Add_del("INSERT INTO Players (Фамилия,Имя,Дата_Рождения,Позиция,Национальность,Клуб) values('" + Fam + "','" + Nam + "','" + bd + "','" + pos + "','" + nat + "'," + club + ")", "Players");
 
                                                var tmp_row = bd1.Name_imgfile("Players");
                                                var Current_id = Convert.ToInt32(tmp_row[0]);
                                                var tmp_name = Current_id;
                                                FileInfo new_file = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Foto_Players/" + tmp_name + t.Extension);
 
                                                File.Copy(t.FullName, new_file.FullName, true);
                                                //Код выше копирует изображение в указанную папку
                                                string photo = "Foto_Players/" + tmp_name + t.Extension;
                                                bd1.Add_del("UPDATE  Players SET Фото='"+photo+"' WHERE Код="+Current_id, "Players");
                                                
                                                tmp_img.Dispose();
                                                clear_allbox();
                                                image2.Visibility = Visibility.Visible;
                                            }
                                            catch (Exception w)
                                            {
                                                MessageBox.Show(w.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
 
                                            }
                                       
                }
                else MessageBox.Show("Не все поля заполнены!!!");
 
 
            }
 
            catch (Exception w)
            {
                MessageBox.Show(w.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
 
            }
 
        }
 
        private void button2_MouseLeave(object sender, MouseEventArgs e)
        {
            image2.Visibility = Visibility.Hidden;
        }
 
        private void button3_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }
 
        private void cancelButton_Click(object sender, RoutedEventArgs e)
        {
            clear_allbox();
        }
 
 
    }
 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы