Имеются две формы Form1 и Form2. В первой форме имеются поле текста (textBox1) и кнопка "Шрифт". При нажатии кнопки "Шрифт" открывается вторая форма, в которой имеется список с тремя шрифтами (comboBox1) и кнопка применения параметров к тексту в поле ввода первой формы. Как передать параметры текста из Form2 в Form1 (первую форму)?
Вот, что имеется:
Form1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Кнопка параметров шрифта
private void button1_Click(object sender, EventArgs e)
{
Form2 font = new Form2();
font.ShowInTaskbar = false; // скрываем с панели задач
font.ShowDialog();
}
// Кнопка сохранения
private void button2_Click(object sender, EventArgs e)
{
Directory.CreateDirectory("C:\\my_dir"); // Создание директории
// Запись
string lines = "" + textBox1.Text;
File.WriteAllText(@"C:\\my_dir\LAB_7.txt", lines);
}
// Кнопка выхода
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Form2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
// Список с шрифтами
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.Text)
{
case "Arial":
Font font_1 = new Font("Arial", this.Font.Size);
comboBox1.Font = font_1;
break;
case "Courier New":
Font font_2 = new Font("Courier New", this.Font.Size);
comboBox1.Font = font_2;
break;
case "Times New Roman":
Font font_3 = new Font("Times New Roman", this.Font.Size);
comboBox1.Font = font_3;
break;
default:
Font def_font = new Font("Arial", this.Font.Size);
comboBox1.Font = def_font;
break;
}
}
// Размер шрифта (8-20, 2)
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
}
// Кнопка применения параметров к textBox1 первой формы
private void button1_Click(object sender, EventArgs e)
{
Form1 form_1 = this.Owner as Form1; // устанавливаем обратную связь
this.comboBox1.Font = form_1.textBox1.Font;
this.Close();
}
}
}
P.S> Как я думаю, вы поняли, что это текстовый редактор.
Примечание:
Не нарушая принципы ООП...
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.