* UICheckBoxGroup: 2024-09-09: V3.7.0 更改计算节点位置的方法,解决问题:#IAPY94
* UIRadioButtonGroup: 2024-09-09: V3.7.0 更改计算节点位置的方法,解决问题:#IAPY94
This commit is contained in:
parent
7fb69265ee
commit
6543a103a4
@ -26,6 +26,7 @@
|
|||||||
* 2023-06-27: V3.3.9 内置条目关联值由Tag改为TagString
|
* 2023-06-27: V3.3.9 内置条目关联值由Tag改为TagString
|
||||||
* 2023-11-07: V3.5.2 重写UICheckBoxGroup
|
* 2023-11-07: V3.5.2 重写UICheckBoxGroup
|
||||||
* 2023-12-04: V3.6.1 增加属性可修改图标大小
|
* 2023-12-04: V3.6.1 增加属性可修改图标大小
|
||||||
|
* 2024-09-09: V3.7.0 更改计算节点位置的方法,解决问题:#IAPY94
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -73,6 +74,7 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
private void Items_CountChange(object sender, EventArgs e)
|
private void Items_CountChange(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,6 +180,25 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InitRects()
|
||||||
|
{
|
||||||
|
int startX = StartPos.X;
|
||||||
|
int startY = TitleTop + StartPos.Y;
|
||||||
|
for (int i = 0; i < Items.Count; i++)
|
||||||
|
{
|
||||||
|
string text = Items[i].ToString();
|
||||||
|
int rowIndex = i / ColumnCount;
|
||||||
|
int columnIndex = i % ColumnCount;
|
||||||
|
int left = startX + ItemSize.Width * columnIndex + ColumnInterval * columnIndex;
|
||||||
|
int top = startY + ItemSize.Height * rowIndex + RowInterval * rowIndex;
|
||||||
|
Rectangle rect = new Rectangle(left, top, ItemSize.Width, ItemSize.Height);
|
||||||
|
if (CheckBoxRects.NotContainsKey(i))
|
||||||
|
CheckBoxRects.Add(i, rect);
|
||||||
|
else
|
||||||
|
CheckBoxRects[i] = rect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重载绘图
|
/// 重载绘图
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -203,11 +224,6 @@ namespace Sunny.UI
|
|||||||
int left = startX + ItemSize.Width * columnIndex + ColumnInterval * columnIndex;
|
int left = startX + ItemSize.Width * columnIndex + ColumnInterval * columnIndex;
|
||||||
int top = startY + ItemSize.Height * rowIndex + RowInterval * rowIndex;
|
int top = startY + ItemSize.Height * rowIndex + RowInterval * rowIndex;
|
||||||
Rectangle rect = new Rectangle(left, top, ItemSize.Width, ItemSize.Height);
|
Rectangle rect = new Rectangle(left, top, ItemSize.Width, ItemSize.Height);
|
||||||
if (CheckBoxRects.NotContainsKey(i))
|
|
||||||
CheckBoxRects.Add(i, rect);
|
|
||||||
else
|
|
||||||
CheckBoxRects[i] = rect;
|
|
||||||
|
|
||||||
int ImageSize = CheckBoxSize;
|
int ImageSize = CheckBoxSize;
|
||||||
|
|
||||||
//图标
|
//图标
|
||||||
@ -382,6 +398,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
columnCount = value;
|
columnCount = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -399,6 +416,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
_itemSize = value;
|
_itemSize = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -416,6 +434,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
startPos = value;
|
startPos = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -434,6 +453,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
columnInterval = value;
|
columnInterval = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -451,6 +471,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
rowInterval = value;
|
rowInterval = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
* 2023-06-27: V3.3.9 内置条目关联值由Tag改为TagString
|
* 2023-06-27: V3.3.9 内置条目关联值由Tag改为TagString
|
||||||
* 2023-11-09: V3.5.2 重写UIRadioButtonGroup
|
* 2023-11-09: V3.5.2 重写UIRadioButtonGroup
|
||||||
* 2023-12-04: V3.6.1 增加属性可修改图标大小
|
* 2023-12-04: V3.6.1 增加属性可修改图标大小
|
||||||
|
* 2024-09-09: V3.7.0 更改计算节点位置的方法,解决问题:#IAPY94
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -84,6 +85,7 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
private void Items_CountChange(object sender, EventArgs e)
|
private void Items_CountChange(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,6 +106,25 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
private readonly UIObjectCollection items = new UIObjectCollection();
|
private readonly UIObjectCollection items = new UIObjectCollection();
|
||||||
|
|
||||||
|
private void InitRects()
|
||||||
|
{
|
||||||
|
int startX = StartPos.X;
|
||||||
|
int startY = TitleTop + StartPos.Y;
|
||||||
|
for (int i = 0; i < Items.Count; i++)
|
||||||
|
{
|
||||||
|
string text = Items[i].ToString();
|
||||||
|
int rowIndex = i / ColumnCount;
|
||||||
|
int columnIndex = i % ColumnCount;
|
||||||
|
int left = startX + ItemSize.Width * columnIndex + ColumnInterval * columnIndex;
|
||||||
|
int top = startY + ItemSize.Height * rowIndex + RowInterval * rowIndex;
|
||||||
|
Rectangle rect = new Rectangle(left, top, ItemSize.Width, ItemSize.Height);
|
||||||
|
if (CheckBoxRects.NotContainsKey(i))
|
||||||
|
CheckBoxRects.Add(i, rect);
|
||||||
|
else
|
||||||
|
CheckBoxRects[i] = rect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重载绘图
|
/// 重载绘图
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -130,11 +151,6 @@ namespace Sunny.UI
|
|||||||
int left = startX + ItemSize.Width * columnIndex + ColumnInterval * columnIndex;
|
int left = startX + ItemSize.Width * columnIndex + ColumnInterval * columnIndex;
|
||||||
int top = startY + ItemSize.Height * rowIndex + RowInterval * rowIndex;
|
int top = startY + ItemSize.Height * rowIndex + RowInterval * rowIndex;
|
||||||
Rectangle rect = new Rectangle(left, top, ItemSize.Width, ItemSize.Height);
|
Rectangle rect = new Rectangle(left, top, ItemSize.Width, ItemSize.Height);
|
||||||
if (CheckBoxRects.NotContainsKey(i))
|
|
||||||
CheckBoxRects.Add(i, rect);
|
|
||||||
else
|
|
||||||
CheckBoxRects[i] = rect;
|
|
||||||
|
|
||||||
int ImageSize = RadioButtonSize;
|
int ImageSize = RadioButtonSize;
|
||||||
|
|
||||||
//图标
|
//图标
|
||||||
@ -267,6 +283,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
columnCount = value;
|
columnCount = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -281,6 +298,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
itemSize = value;
|
itemSize = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -295,6 +313,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
startPos = value;
|
startPos = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -309,6 +328,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
columnInterval = value;
|
columnInterval = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -323,6 +343,7 @@ namespace Sunny.UI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
rowInterval = value;
|
rowInterval = value;
|
||||||
|
InitRects();
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -443,7 +443,7 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public TextBox TextBox => edit;
|
public UIEdit TextBox => edit;
|
||||||
|
|
||||||
private void Edit_Leave(object sender, EventArgs e)
|
private void Edit_Leave(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user