219 lines
12 KiB
C#
219 lines
12 KiB
C#
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<string> list = new List<string>();
|
||
List<Client> clients = new List<Client>();
|
||
public FormComponents()
|
||
{
|
||
list = new List<string>();
|
||
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<string>() { "пример", "пример", "пример" });
|
||
emailTextBox.Pattern = @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$";
|
||
listBoxValues.SetLayout("ФИО [FIO] Обзор [Review] Статус [Status] сумма [Sum].", '[', ']');
|
||
dropDownList.ValueChanged += CustomEventHandler;
|
||
listBoxValues.AddItems<Client>(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<Client>().FIO + " " + listBoxValues.GetObjectFromStr<Client>().Review + " " + listBoxValues.GetObjectFromStr<Client>().Status + " " + listBoxValues.GetObjectFromStr<Client>().Sum;
|
||
|
||
labelShowInput.Text = str;
|
||
}
|
||
|
||
private void buttonAddValues_Click(object sender, EventArgs e)
|
||
{
|
||
listBoxValues.AddItems<Client>(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<ColumnInfo>
|
||
{
|
||
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<Example>
|
||
{
|
||
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<Example>
|
||
{
|
||
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<SeriesParameters>
|
||
{
|
||
new() {
|
||
SeriesName = "Номер 1",
|
||
ValuesY = new List<double> { 14, 22, 13 },
|
||
Color = Color.FromArgb(255, 165, 0)
|
||
},
|
||
new() {
|
||
SeriesName = "Номер 2",
|
||
ValuesY = new List<double> { 87, 44, 51 },
|
||
Color = Color.FromArgb(145, 145, 145)
|
||
},
|
||
new() {
|
||
SeriesName = "Номер 3",
|
||
ValuesY = new List<double> { 29, 15, 7 },
|
||
Color = Color.FromArgb(255, 255, 0)
|
||
}
|
||
};
|
||
|
||
wordDiagramComponent.CreateDiagramDocument(new GraphicWordInfo()
|
||
{
|
||
Path = dialog.FileName,
|
||
DocumentTitle = "Диаграмма в ворде",
|
||
DiagramTitle = "Ниже показана диаграмма об исследовании...",
|
||
LegendLayout = LegendLayoutEnum.Bottom,
|
||
SeriesX = new List<string> { "Пример", "Пример", "Пример" },
|
||
SeriesParameters = series
|
||
});
|
||
|
||
MessageBox.Show("Готово!");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MessageBox.Show("Произошла ошибка: " + ex.Message, "А", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
} |