diff --git a/Components/Components.csproj b/Components/Components.csproj new file mode 100644 index 0000000..3e210aa --- /dev/null +++ b/Components/Components.csproj @@ -0,0 +1,10 @@ + + + + net8.0-windows + enable + true + enable + + + diff --git a/Components/Components.sln b/Components/Components.sln new file mode 100644 index 0000000..de68749 --- /dev/null +++ b/Components/Components.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34330.188 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Components", "Components.csproj", "{D813A63B-837E-45AD-8F7D-B6A964F1B794}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D813A63B-837E-45AD-8F7D-B6A964F1B794}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D813A63B-837E-45AD-8F7D-B6A964F1B794}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D813A63B-837E-45AD-8F7D-B6A964F1B794}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D813A63B-837E-45AD-8F7D-B6A964F1B794}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C5C673BE-0306-44AF-9FA5-36E50BAD9083} + EndGlobalSection +EndGlobal diff --git a/Components/CustomDataGridView.Designer.cs b/Components/CustomDataGridView.Designer.cs new file mode 100644 index 0000000..540bbf8 --- /dev/null +++ b/Components/CustomDataGridView.Designer.cs @@ -0,0 +1,37 @@ +namespace Components +{ + partial class CustomDataGridView + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/Components/CustomDataGridView.cs b/Components/CustomDataGridView.cs new file mode 100644 index 0000000..727cb65 --- /dev/null +++ b/Components/CustomDataGridView.cs @@ -0,0 +1,20 @@ +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 Components +{ + public partial class CustomDataGridView : UserControl + { + public CustomDataGridView() + { + InitializeComponent(); + } + } +} diff --git a/Components/CustomDataGridView.resx b/Components/CustomDataGridView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Components/CustomDataGridView.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Components/CustomListBox.Designer.cs b/Components/CustomListBox.Designer.cs new file mode 100644 index 0000000..ecd437f --- /dev/null +++ b/Components/CustomListBox.Designer.cs @@ -0,0 +1,57 @@ +namespace Components +{ + partial class CustomListBox + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + listBox = new ListBox(); + SuspendLayout(); + // + // listBox + // + listBox.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + listBox.FormattingEnabled = true; + listBox.ItemHeight = 15; + listBox.Location = new Point(3, 5); + listBox.Name = "listBox"; + listBox.Size = new Size(144, 139); + listBox.TabIndex = 0; + // + // CustomListBox + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + Controls.Add(listBox); + Name = "CustomListBox"; + ResumeLayout(false); + } + + #endregion + + private ListBox listBox; + } +} diff --git a/Components/CustomListBox.cs b/Components/CustomListBox.cs new file mode 100644 index 0000000..dfa9dd5 --- /dev/null +++ b/Components/CustomListBox.cs @@ -0,0 +1,49 @@ +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 Components +{ + public partial class CustomListBox : UserControl + { + private event EventHandler? _itemSelected; + + public CustomListBox() + { + InitializeComponent(); + } + + public void SetItems(List items) + { + listBox.Items.AddRange(items.ToArray()); + } + + public void ClearList() + { + listBox.Items.Clear(); + } + + public string SelectedItem + { + get { return (string?)listBox.SelectedItem ?? string.Empty; } + set { listBox.SelectedItem = value; } + } + + public event EventHandler? ItemSelected + { + add { _itemSelected += value; } + remove { _itemSelected -= value; } + } + + private void MainListBox_SelectedIndexChanged(object sender, EventArgs e) + { + _itemSelected?.Invoke(this, e); + } + } +} diff --git a/Components/CustomListBox.resx b/Components/CustomListBox.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/Components/CustomListBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Components/CustomTextBox.Designer.cs b/Components/CustomTextBox.Designer.cs new file mode 100644 index 0000000..898ebd8 --- /dev/null +++ b/Components/CustomTextBox.Designer.cs @@ -0,0 +1,37 @@ +namespace Components +{ + partial class CustomTextBox + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/Components/CustomTextBox.cs b/Components/CustomTextBox.cs new file mode 100644 index 0000000..388b673 --- /dev/null +++ b/Components/CustomTextBox.cs @@ -0,0 +1,20 @@ +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 Components +{ + public partial class CustomTextBox : UserControl + { + public CustomTextBox() + { + InitializeComponent(); + } + } +} diff --git a/Components/CustomTextBox.resx b/Components/CustomTextBox.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Components/CustomTextBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Components/Person.cs b/Components/Person.cs new file mode 100644 index 0000000..7358f4a --- /dev/null +++ b/Components/Person.cs @@ -0,0 +1,14 @@ +namespace Components.Object +{ + public class Person + { + public string Name { get; set; } + public int Age { get; set; } + + public Person(string name, int age) + { + Name = name; + Age = age; + } + } +}