using RodionovLibrary.NonVisualComponents.HelperEnums; using RodionovLibrary.NonVisualComponents.HelperModels; namespace WinForms { public partial class FormTest : Form { public FormTest() { InitializeComponent(); comboBoxControl.AddItems(new List { "Значение 1", "Значение 2", "Значение 3", "Значение 4", "Значение 5" }); textBoxControl.Pattern = @"^[a-z0-9._%+-]+\@([a-z0-9-]+\.)+[a-z]{2,4}$"; textBoxControl.SetTooltipText("example@gmail.com"); listBoxControl.SetParams("Имя: {FirstName}, фамилия: {LastName}. {Gender} ({Age}) лет.", '{', '}'); listBoxControl.AddItems(new List { new() { FirstName = "Кирилл", LastName = "Петров", Age = 23, Gender = "муж" }, new() { FirstName = "Мария", LastName = "Иванова", Age = 18, Gender = "жен" }, new() { FirstName = "Ева", LastName = "Панфилова", Age = 40, Gender = "жен" } }); } private void ButtonClear_Click(object sender, EventArgs e) { comboBoxControl.Clear(); } private void ButtonGetComboBox_Click(object sender, EventArgs e) { MessageBox.Show(comboBoxControl.SelectedValue, "Полученное значение"); } private void ButtonSetComboBox_Click(object sender, EventArgs e) { comboBoxControl.SelectedValue = "Значение 3"; } private void ButtonGetTextBox_Click(object sender, EventArgs e) { MessageBox.Show(textBoxControl.Value, "Полученное значение"); } private void ButtonSetTextBox_Click(object sender, EventArgs e) { textBoxControl.Value = "forum98761@gmail.com"; } private void ButtonSetWrongTextBox_Click(object sender, EventArgs e) { textBoxControl.Value = "smth"; } private void ButtonGetObject_Click(object sender, EventArgs e) { Person? selectedPerson = listBoxControl.GetObject(); if (selectedPerson == null) MessageBox.Show("Обьект пустой"); MessageBox.Show($"Имя: {selectedPerson?.FirstName}, Фамилия: {selectedPerson?.LastName}, " + $"Возраст: {selectedPerson?.Age}, Пол: {selectedPerson?.Gender}"); } private void ButtonGetIndex_Click(object sender, EventArgs e) { MessageBox.Show(listBoxControl.SelectedIndex.ToString(), "Полученное значение"); } private void ButtonSetIndex_Click(object sender, EventArgs e) { listBoxControl.SelectedIndex = 0; } private void ButtonWordText_Click(object sender, EventArgs e) { using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; if (dialog.ShowDialog() == DialogResult.OK) { try { wordLongTextComponent.CreateWordText(new WordLongTextInfo() { FileName = dialog.FileName, Title = "ГЛАВА 1. Нежданные гости", 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 { FileName = dialog.FileName, Title = "Заголовок", ColumnParameters = 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 { 10, 15, 20 }, Color = Color.FromArgb(255, 165, 0) }, new() { SeriesName = "Серия 2", ValuesY = new List { 45, 34, 18 }, Color = Color.FromArgb(105, 105, 105) }, new() { SeriesName = "Серия 3", ValuesY = new List { 25, 2, 7 }, Color = Color.FromArgb(255, 255, 0) } }; wordDiagramComponent.CreateDiagramDocument(new WordDiagramInfo() { FileName = dialog.FileName, DocumentTitle = "Заголовок", DiagramTitle = "Тестовая диаграмма", LegendLayout = DiagramLegendLayout.Bottom, CategoriesX = new List { "Январь", "Февраль", "Март" }, SeriesParameters = series }); MessageBox.Show("Готово!"); } catch (Exception ex) { MessageBox.Show("Произошла ошибка: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }