using System.Collections.Generic; using WinFormsLibrary; using WinFormsLibrary.NonVisualComponents.Enums; using WinFormsLibrary.NonVisualComponents.Helpers; using WinFormsLibrary.Object; namespace WinForms { public partial class FormComponents : Form { List list = new List(); List clients = new List(); public FormComponents() { list = new List(); list.AddRange(new string[] { "Пример1", "Пример2", "Пример3" }); Client client1 = new Client("Разубаев Сергей Михайлович", "Товар понравился", "Пользователь", 300); Client client2 = new Client("Макаров Давид Вячеславович", "Вместо товара пришла коробка", "Подписчик", 100); Client client3 = new Client("Анисин Руслан Сергеевич", "Товар не понравился", "ПОльзователь", 234); clients.Add(client1); clients.Add(client2); clients.Add(client3); InitializeComponent(); dropDownList.LoadValues(new List() { "пример", "пример", "пример" }); emailTextBox.Pattern = @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"; listBoxValues.SetLayout("ФИО [FIO] Обзор [Review] Статус [Status] сумма [Sum].", '[', ']'); dropDownList.ValueChanged += CustomEventHandler; listBoxValues.AddItems(clients); } private void CustomEventHandler(object sender, EventArgs e) { MessageBox.Show("Хрю"); } private void buttonAdd_Click(object sender, EventArgs e) { dropDownList.LoadValues(list); } private void buttonInfo_Click(object sender, EventArgs e) { labelInfo.Text = dropDownList.Selected; } private void buttonClear_Click(object sender, EventArgs e) { dropDownList.Clear(); } private void buttonSetExample_Click(object sender, EventArgs e) { if (textBoxExample.Text == String.Empty) { return; } emailTextBox.setExample(textBoxExample.Text); } private void buttonShow_Click(object sender, EventArgs e) { try { if (emailTextBox.TextBoxValue != null) { labelEmail.Text = emailTextBox.TextBoxValue; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void buttonShowItem_Click(object sender, EventArgs e) { string str = listBoxValues.GetObjectFromStr().FIO + " " + listBoxValues.GetObjectFromStr().Review + " " + listBoxValues.GetObjectFromStr().Status + " " + listBoxValues.GetObjectFromStr().Sum; labelShowInput.Text = str; } private void buttonAddValues_Click(object sender, EventArgs e) { listBoxValues.AddItems(clients); } private void buttonWordText_Click(object sender, EventArgs e) { using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; if (dialog.ShowDialog() == DialogResult.OK) { try { wordTextComponent.CreateWordText(new LongWordInfo() { Path = dialog.FileName, Title = "I. Глиняный ужас", Paragraphs = new string[] { "По мне, неспособность человеческого разума соотнести между собою все, что только вмещает в себя наш мир, – это великая милость. Мы живем на безмятежном островке неведения посреди черных морей бесконечности, и дальние плавания нам заказаны. Науки, трудясь каждая в своем направлении, до сих пор особого вреда нам не причиняли. Но в один прекрасный день разобщенные познания будут сведены воедино, и перед нами откроются такие ужасающие горизонты реальности, равно как и наше собственное страшное положение, что мы либо сойдем с ума от этого откровения, либо бежим от смертоносного света в мир и покой нового темного средневековья.", "Теософы уже предугадали устрашающее величие космического цикла, в пределах которого и наш мир, и весь род человеческий – не более чем преходящая случайность. Они намекают на странных пришельцев из тьмы веков – в выражениях, от которых кровь бы застыла в жилах, когда бы не личина утешительного оптимизма. Но не от них явился тот один-единственный отблеск запретных эпох, что леденит мне кровь наяву и сводит с ума во сне. Это мимолетное впечатление, как и все страшные намеки на правду, родилось из случайной комбинации разрозненных фрагментов – в данном случае, вырезки из старой газеты и записей покойного профессора. Надеюсь, никому больше не придет в голову их сопоставить; сам я, если останусь жив, ни за что не стану сознательно восполнять звенья в столь чудовищной цепи. Думается мне, что и профессор тоже намеревался сохранить в тайне известную ему часть и непременно уничтожил бы свои заметки, если бы не внезапная смерть.", "Как наследнику и душеприказчику моего двоюродного деда – ибо он умер бездетным вдовцом, – мне полагалось сколь возможно тщательно просмотреть его архивы; с этой целью я перевез все его коробки и папки на свою бостонскую квартиру. Большую часть разобранных мною материалов со временем опубликует Американское археологическое общество, однако ж среди ящиков нашелся один, изрядно меня озадачивший: вот его-то мне особенно не хотелось показывать чужим. Ящик был заперт, ключа нигде не оказалось; но в конце концов я догадался осмотреть брелок, что профессор всегда носил в кармане. И действительно: открыть замок мне удалось, но тут передо мною воздвиглось препятствие еще более серьезное и непреодолимое. Что, ради всего святого, означали странный глиняный барельеф и разрозненные записи, наброски и газетные вырезки, мною обнаруженные? Или дед мой, на закате дней своих, стал жертвой самого банального надувательства? Я решил непременно разыскать эксцентричного скульптора, по всей видимости, нарушившего душевный покой старика."} }); MessageBox.Show("Готово!"); } catch (Exception ex) { MessageBox.Show("Произошла ошибка: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void buttonWordTable_Click(object sender, EventArgs e) { using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; if (dialog.ShowDialog() == DialogResult.OK) { try { var columns = new List { new() { FirstRowHeader = "Идент", PropertyName = "Id", Width = 1.3 }, new() { FirstRowHeader = "Статус", PropertyName = "Status", Width = 1.3 }, new() { FirstRowHeader = "Личные данные", SecondRowHeader = "Имя", PropertyName = "FirstName", Width = 1.7 }, new() { FirstRowHeader = "Личные данные", SecondRowHeader = "Фамилия", PropertyName = "LastName", Width = 1.7 }, new() { FirstRowHeader = "Личные данные", SecondRowHeader = "Возраст", PropertyName = "Age", Width = 1.7 }, new() { FirstRowHeader = "Дети", PropertyName = "Children", Width = 1.3 }, new() { FirstRowHeader = "Машина", PropertyName = "Car", Width = 1.7 }, new() { FirstRowHeader = "Работа", SecondRowHeader = "Подразделение", PropertyName = "Department", Width = 2.4 }, new() { FirstRowHeader = "Работа", SecondRowHeader = "Должность", PropertyName = "Position", Width = 2.4 }, new() { FirstRowHeader = "Премия", PropertyName = "Bonus", Width = 2 } }; var employees = new List { new() { Id = 1, Status = "нет", FirstName = "Иван", LastName = "Иванов", Age = 34, Children = "нет", Car = "есть", Department = "Департамент 1", Position = "Инженер", Bonus = 2000.1 }, new() { Id = 2, Status = "нет", FirstName = "Петр", LastName = "Петров", Age = 44, Children = "есть", Car = "есть", Department = "Департамент 1", Position = "Инженер", Bonus = 2000.1 }, new() { Id = 3, Status = "да", FirstName = "Сергей", LastName = "Сергеев", Age = 55, Children = "нет", Car = "нет", Department = "Департамент 1", Position = "Руководитель", Bonus = 5000.5 }, new() { Id = 4, Status = "нет", FirstName = "Ольга", LastName = "Иванова", Age = 34, Children = "есть", Car = "нет", Department = "Бухгалтерия", Position = "Бухгалтер", Bonus = 2000.1 }, new() { Id = 5, Status = "да", FirstName = "Татьяна", LastName = "Петрова", Age = 44, Children = "нет", Car = "нет", Department = "Бухгалтерия", Position = "Старший бухгалтер", Bonus = 7000.6 } }; var mergedColumns = new List<(int, int)> { (2, 4), (7, 8) }; var tableInfo = new WordTableInfo { Path = dialog.FileName, Title = "Заголовок", ColumnInfos = columns, Items = employees, MergedColumns = mergedColumns }; wordTableComponent.CreateTable(tableInfo); MessageBox.Show("Готово!"); } catch (Exception ex) { MessageBox.Show("Произошла ошибка: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void buttonWordDiagram_Click(object sender, EventArgs e) { using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; if (dialog.ShowDialog() == DialogResult.OK) { try { var series = new List { new() { SeriesName = "Номер 1", ValuesY = new List { 14, 22, 13 }, Color = Color.FromArgb(255, 165, 0) }, new() { SeriesName = "Номер 2", ValuesY = new List { 87, 44, 51 }, Color = Color.FromArgb(145, 145, 145) }, new() { SeriesName = "Номер 3", ValuesY = new List { 29, 15, 7 }, Color = Color.FromArgb(255, 255, 0) } }; wordDiagramComponent.CreateDiagramDocument(new GraphicWordInfo() { Path = dialog.FileName, DocumentTitle = "Диаграмма в ворде", DiagramTitle = "Ниже показана диаграмма об исследовании...", LegendLayout = LegendLayoutEnum.Bottom, SeriesX = new List { "Пример", "Пример", "Пример" }, SeriesParameters = series }); MessageBox.Show("Готово!"); } catch (Exception ex) { MessageBox.Show("Произошла ошибка: " + ex.Message, "А", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }