правочки (сдано)
This commit is contained in:
parent
cd2b5a857b
commit
6639c7be4d
@ -7,11 +7,8 @@
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
// вызывается, когда изменяется выбранное значение в CheckedListBox
|
||||
public event EventHandler? SelectedValueChanged;
|
||||
|
||||
// Если количество отмеченных элементов больше одного, то все отмеченные
|
||||
// элементы, кроме выбранного, снимаются отметки.
|
||||
private void checkedListBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (checkedListBox.CheckedItems.Count > 1)
|
||||
@ -27,7 +24,6 @@
|
||||
SelectedValueChanged?.Invoke(this, e);
|
||||
}
|
||||
|
||||
//Это свойство позволяет получить или установить выбранное значение в CheckedListBox
|
||||
public string SelectedValue
|
||||
{
|
||||
get
|
||||
|
15
COP_5/COP_5/Exceptions/TreeViewException.cs
Normal file
15
COP_5/COP_5/Exceptions/TreeViewException.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace COP_5.Exceptions
|
||||
{
|
||||
public class TreeViewException : Exception
|
||||
{
|
||||
public TreeViewException() { }
|
||||
public TreeViewException(string message) : base(message) { }
|
||||
public TreeViewException(string message, Exception inner) : base(message, inner) { }
|
||||
}
|
||||
}
|
@ -5,15 +5,41 @@ namespace COP_5
|
||||
{
|
||||
public partial class RangeTextBox : UserControl
|
||||
{
|
||||
public int? MinLength { get; set; }
|
||||
public int? MaxLength { get; set; }
|
||||
public int? max = null;
|
||||
public int? min = null;
|
||||
public int? MinLength
|
||||
{
|
||||
get
|
||||
{
|
||||
return max;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null || value <= 0) return;
|
||||
max = value;
|
||||
|
||||
}
|
||||
}
|
||||
public int? MaxLength
|
||||
{
|
||||
get
|
||||
{
|
||||
return min;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null || value < 0) return;
|
||||
min = value;
|
||||
|
||||
}
|
||||
}
|
||||
public event EventHandler? ChangedValue;
|
||||
|
||||
public string? TextBoxValue
|
||||
{
|
||||
get
|
||||
{
|
||||
if (MinLength == 0 && MaxLength == 0)
|
||||
if (MinLength == null && MaxLength == null)
|
||||
{
|
||||
throw new RangeException("Диапазон не задан.");
|
||||
}
|
||||
@ -25,18 +51,13 @@ namespace COP_5
|
||||
}
|
||||
set
|
||||
{
|
||||
if (MinLength != 0 && MaxLength != 0)
|
||||
if (MinLength != null && MaxLength != null)
|
||||
{
|
||||
if (value.Length >= MinLength && value.Length <= MaxLength)
|
||||
{
|
||||
textBox.Text = value;
|
||||
ChangedValue?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RangeException("Диапазон не задан.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,21 +67,18 @@ namespace COP_5
|
||||
}
|
||||
private void textBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (MinLength != 0 && MaxLength != 0)
|
||||
ChangedValue?.Invoke(this, e);
|
||||
if (MinLength != null && MaxLength != null)
|
||||
{
|
||||
if (textBox.Text.Length < MinLength || textBox.Text.Length > MaxLength)
|
||||
{
|
||||
MessageBox.Show("Текст находится в недопустимом диапазоне!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
textBox.ForeColor = System.Drawing.Color.Red;
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangedValue?.Invoke(this, e);
|
||||
textBox.ForeColor = System.Drawing.Color.Black;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RangeException("Диапазон не задан.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
using COP_5.TestClasses;
|
||||
using COP_5.Exceptions;
|
||||
using COP_5.TestClasses;
|
||||
|
||||
namespace COP_5
|
||||
{
|
||||
@ -18,8 +19,12 @@ namespace COP_5
|
||||
this.hierarchy = hierarchy;
|
||||
this.newBranch = newBranch;
|
||||
}
|
||||
public void Clear()
|
||||
{
|
||||
treeView1.Nodes.Clear();
|
||||
}
|
||||
|
||||
public void AddObjectToTree(object obj, string stopAtProperty)
|
||||
public void AddObjectToTree<T>(T obj, string stopAtProperty)
|
||||
{
|
||||
TreeNode currentNode = treeView1.Nodes.Cast<TreeNode>().FirstOrDefault();
|
||||
foreach (var property in hierarchy)
|
||||
@ -63,16 +68,19 @@ namespace COP_5
|
||||
}
|
||||
}
|
||||
|
||||
public object GetSelectedObject()
|
||||
public T GetSelectedObject<T>() where T : new()
|
||||
{
|
||||
if (treeView1.SelectedNode == null)
|
||||
{
|
||||
return null;
|
||||
throw new TreeViewException("Узел равен null");
|
||||
}
|
||||
if (treeView1.SelectedNode.Nodes.Count > 0)
|
||||
{
|
||||
throw new TreeViewException("Невозможно получить объект из этого узла");
|
||||
}
|
||||
|
||||
var node = treeView1.SelectedNode;
|
||||
// Создается новый экземпляр объекта типа Employee
|
||||
var obj = Activator.CreateInstance(typeof(Employee));
|
||||
var obj = new T();
|
||||
foreach (var property in hierarchy)
|
||||
{
|
||||
// получаем значение узла
|
||||
|
Loading…
Reference in New Issue
Block a user