Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Передача данных в конструктор Form2 ⇐ ПредыдущаяСтр 10 из 10
Изменяем конструктор Form2 public Form2(string data) { InitializeComponent(); //Обрабатываем данные //Или записываем их в поле this.data = data; } string data;
А создаем форму в любом месте Form1 так: Form2 f = new Form2(this.textBox1.Text); f.ShowDialog(); //Или f.Show();
- Возможна передача только из более ранней формы в более позднюю
Передача ссылки в конструктор Изменяем конструктор Form2 public Form2(Form1 f1) { InitializeComponent(); //Обрабатываем данные //Или записываем их в поле string s = f1.textBox1.Text; }
А создаем форму в любом месте Form1 так, т.е. передаем ей ссылку на первую форму Form2 f = new Form2(this); f.ShowDialog(); //Или f.Show();
+ Доступ ко всем открытым полям/функциям первой формы + Передача данных возможна в обе стороны
5. Используем свойство 'родитель' При создании второй формы устанавливаем владельца Form2 f = new Form2(); f.Owner = this; f.ShowDialog(); Во второй форме определяем владельца Form1 main = this.Owner as Form1; if(main! = null) { string s = main.textBox1.Text; main.textBox1.Text = " OK"; }
+ Доступ ко всем открытым полям/функциям первой формы + Передача данных возможна в обе стороны
6. Используем отдельный класс static class Data { public static string Value { get; set; } }
Его открытые свойства/методы доступны из любой формы. Data.Value = " 111";
+ Самый удобный способ, когда данные активно используются несколькими формами.
Пример Создадим приложение. На первой форме расположим текстовое поле, в которое пользователь может ввести информацию. По нажатию кнопки на первой форме загружается вторая форма. На второй форме расположено текстовое поле. В нем отражается информация, введенная пользователем на первой форме.
Первая форма
Вторая форма Для передачи данных используем создание статического класса (в Program.cs) static class Data { public static string Value { get; set; } } На первой форме переменная Data получает значение текста из текстового элемента Data.Value = textBox1.Text; На второй форме текстовый элемент получает значение переменной Data textBox1.Text = Data.Value;
Текст программы Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace передача_данных { public partial class Form1: Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Data.Value = textBox1.Text; Form2 f = new Form2(); // создаем f.Show(); // показываем вар2 } } } Form2.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace передача_данных { public partial class Form2: Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { textBox1.Text = Data.Value; } } } Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms;
namespace передача_данных { static class Program { /// < summary> /// Главная точка входа для приложения. /// < /summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } static class Data { public static string Value { get; set; } } }
Вид работающего приложения:
Задание Создать приложение с двумя формами в Visual Studio 2012 C#. Осуществить передачу данных с первой формы на вторую. Протестировать приложение.
Рассмотреть возможность передачи данных, созданных на первой форме, на третью форму.
Рассмотреть возможность передачи данных в обратном направлении – со второй или третьей формы на первую.
Практическая работа №17 Ведение таблицы БД в Visual Studio 2012 C# 1. Цель работы: Изучить возможности корректного изменения таблицы БД вVisual Studio 2012 C#. Создать приложение для демонстрации работы корректного ведения таблицы БД.
Популярное:
|
Последнее изменение этой страницы: 2016-03-15; Просмотров: 2716; Нарушение авторского права страницы