158 lines
7.1 KiB
C#
Raw Normal View History

using System;
using System.Drawing;
2020-05-11 21:11:29 +08:00
using System.Windows.Forms;
namespace Sunny.UI.Demo
{
public partial class FMain : UIHeaderAsideMainFrame
{
public FMain()
{
InitializeComponent();
int pageIndex = 1000;
Header.SetNodePageIndex(Header.Nodes[0], pageIndex);
Header.SetNodeSymbol(Header.Nodes[0], 61451);
TreeNode parent = Aside.CreateNode("控件", 61451, 24, pageIndex);
2021-08-11 23:13:24 +08:00
//通过设置PageIndex关联节点文字、图标由相应的Page的Text、Symbol提供
2021-09-21 10:40:08 +08:00
Aside.CreateChildNode(parent, AddPage(new FAvatar(), ++pageIndex));
2021-08-11 23:13:24 +08:00
Aside.CreateChildNode(parent, AddPage(new FButton(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FCheckBox(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FCombobox(), ++pageIndex));
2021-09-21 10:40:08 +08:00
Aside.CreateChildNode(parent, AddPage(new FContextMenuStrip(), ++pageIndex));
2021-08-11 23:13:24 +08:00
Aside.CreateChildNode(parent, AddPage(new FDataGridView(), ++pageIndex));
2021-09-21 10:40:08 +08:00
Aside.CreateChildNode(parent, AddPage(new FFlowLayoutPanel(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FHeaderButton(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FLabel(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FLine(), ++pageIndex));
2021-08-11 23:13:24 +08:00
Aside.CreateChildNode(parent, AddPage(new FListBox(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FNavigation(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FPanel(), ++pageIndex));
2021-04-10 22:49:01 +08:00
Aside.CreateChildNode(parent, AddPage(new FProcess(), ++pageIndex));
2021-09-21 10:40:08 +08:00
Aside.CreateChildNode(parent, AddPage(new FRadioButton(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FScrollBar(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FSplitContainer(), ++pageIndex));
2021-09-21 10:40:08 +08:00
Aside.CreateChildNode(parent, AddPage(new FTabControl(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FTextBox(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FTransfer(), ++pageIndex));
Aside.CreateChildNode(parent, AddPage(new FTreeView(), ++pageIndex));
2021-08-11 23:13:24 +08:00
Aside.CreateChildNode(parent, AddPage(new FOther(), ++pageIndex));
//示例设置某个节点的小红点提示
Aside.ShowTips = true;
Aside.SetNodeTipsText(Aside.Nodes[0], "6", Color.Red, Color.White);
Aside.SetNodeTipsText(parent.Nodes[1], " ", Color.Lime, Color.White);
2020-05-11 21:11:29 +08:00
pageIndex = 2000;
Header.SetNodePageIndex(Header.Nodes[1], pageIndex);
Header.SetNodeSymbol(Header.Nodes[1], 61818);
parent = Aside.CreateNode("窗体", 61818, 24, pageIndex);
//通过设置GUID关联节点字体图标和大小由UIPage设置
Aside.CreateChildNode(parent, AddPage(new FDialogs(), Guid.NewGuid()));
Aside.CreateChildNode(parent, AddPage(new FEditor(), Guid.NewGuid()));
Aside.CreateChildNode(parent, AddPage(new FFrames(), Guid.NewGuid()));
2020-05-11 21:11:29 +08:00
pageIndex = 3000;
Header.SetNodePageIndex(Header.Nodes[2], pageIndex);
Header.SetNodeSymbol(Header.Nodes[2], 61950);
parent = Aside.CreateNode("图表", 61950, 24, pageIndex);
//直接关联默认自动生成GUID
Aside.CreateChildNode(parent, AddPage(new FBarChart()));
2021-10-03 10:11:03 +08:00
Aside.CreateChildNode(parent, AddPage(new FDoughnutChart()));
Aside.CreateChildNode(parent, AddPage(new FLineChart()));
2021-10-03 10:11:03 +08:00
Aside.CreateChildNode(parent, AddPage(new FPieChart()));
2021-08-11 23:13:24 +08:00
pageIndex = 4000;
Header.SetNodePageIndex(Header.Nodes[3], pageIndex);
Header.SetNodeSymbol(Header.Nodes[3], 362614);
parent = Aside.CreateNode("工控", 362614, 24, pageIndex);
//直接关联默认自动生成GUID
Aside.CreateChildNode(parent, AddPage(CreateInstance<UIPage>("Sunny.UI.Demo.FPipe")));
Aside.CreateChildNode(parent, AddPage(CreateInstance<UIPage>("Sunny.UI.Demo.FMeter")));
Aside.CreateChildNode(parent, AddPage(CreateInstance<UIPage>("Sunny.UI.Demo.FLed")));
Aside.CreateChildNode(parent, AddPage(CreateInstance<UIPage>("Sunny.UI.Demo.FLight")));
2021-08-11 23:13:24 +08:00
Header.SetNodeSymbol(Header.Nodes[4], 61502);
2020-05-11 21:11:29 +08:00
var styles = UIStyles.PopularStyles();
foreach (UIStyle style in styles)
{
2021-08-11 23:13:24 +08:00
Header.CreateChildNode(Header.Nodes[4], style.DisplayText(), style.Value());
2020-05-11 21:11:29 +08:00
}
2021-08-11 23:13:24 +08:00
Header.CreateChildNode(Header.Nodes[4], "多彩主题", UIStyle.Colorful.Value());
//直接增加一个页面,不在左侧列表显示
AddPage(new FColorful());
AddPage(new FCommon());
2021-08-11 23:13:24 +08:00
//选中第一个节点
2021-09-21 10:40:08 +08:00
Aside.SelectPage(1002);
2022-03-28 22:46:47 +08:00
Text = Version;
2022-01-19 10:33:20 +08:00
RegisterHotKey(UI.ModifierKeys.Shift, Keys.F8);
//根据页面类型获取页面
FButton page = GetPage<FButton>();
if (page != null)
page.Text.WriteConsole();
//根据页面索引获取页面
UIPage page1 = GetPage(1002);
if (page1 != null)
page1.Text.WriteConsole();
2020-05-11 21:11:29 +08:00
}
/// <summary>
/// 创建对象实例
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="fullName">命名空间.类型名</param>
/// <returns></returns>
public static T CreateInstance<T>(string fullName)
{
Type o = Type.GetType(fullName);
dynamic obj = Activator.CreateInstance(o, true);
return (T)obj;//类型转换并返回
}
2020-05-11 21:11:29 +08:00
private void Header_MenuItemClick(string text, int menuIndex, int pageIndex)
{
switch (menuIndex)
{
2021-08-11 23:13:24 +08:00
case 4:
2020-05-11 21:11:29 +08:00
UIStyle style = (UIStyle)pageIndex;
if (style != UIStyle.Colorful)
StyleManager.Style = style;
else
SelectPage(pageIndex);
2020-05-11 21:11:29 +08:00
break;
2021-08-11 23:13:24 +08:00
default:
Aside.SelectPage(pageIndex);
break;
2020-05-11 21:11:29 +08:00
}
}
private void FMain_Selecting(object sender, TabControlCancelEventArgs e, UIPage page)
{
if (page != null)
Console.WriteLine(page.Text);
}
2021-02-04 20:49:30 +08:00
private void ToolStripMenuItem1_Click(object sender, EventArgs e)
{
2021-05-20 14:54:51 +08:00
UIMessageBox.Show(Version, "关于", Style, UIMessageBoxButtons.OK, false);
2021-02-04 20:49:30 +08:00
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("https://gitee.com/yhuse/SunnyUI");
}
2022-01-19 10:33:20 +08:00
private void FMain_HotKeyEventHandler(object sender, HotKeyEventArgs e)
{
if (e.hotKey.ModifierKey == UI.ModifierKeys.Shift && e.hotKey.Key == Keys.F8)
{
ShowInfoTip("您按下了全局系统热键 Shift+F8");
}
}
2020-05-11 21:11:29 +08:00
}
}