+ UIRichTextBox:新增; * UITextBox:完善TextBox的基本方法和函数

This commit is contained in:
Sunny 2020-06-05 21:48:58 +08:00
parent 3d89415ed7
commit f9fa9baca3
17 changed files with 1481 additions and 244 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,249 @@
namespace Sunny.UI.Demo
{
partial class FCombobox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.uiLine8 = new Sunny.UI.UILine();
this.uiDatetimePicker1 = new Sunny.UI.UIDatetimePicker();
this.uiColorPicker1 = new Sunny.UI.UIColorPicker();
this.uiLine7 = new Sunny.UI.UILine();
this.uiLine6 = new Sunny.UI.UILine();
this.uiTimePicker1 = new Sunny.UI.UITimePicker();
this.uiLine3 = new Sunny.UI.UILine();
this.uiLine2 = new Sunny.UI.UILine();
this.uiDatePicker1 = new Sunny.UI.UIDatePicker();
this.uiComboBox2 = new Sunny.UI.UIComboBox();
this.uiComboBox1 = new Sunny.UI.UIComboBox();
this.PagePanel.SuspendLayout();
this.SuspendLayout();
//
// PagePanel
//
this.PagePanel.Controls.Add(this.uiLine8);
this.PagePanel.Controls.Add(this.uiDatetimePicker1);
this.PagePanel.Controls.Add(this.uiColorPicker1);
this.PagePanel.Controls.Add(this.uiLine7);
this.PagePanel.Controls.Add(this.uiLine6);
this.PagePanel.Controls.Add(this.uiTimePicker1);
this.PagePanel.Controls.Add(this.uiLine3);
this.PagePanel.Controls.Add(this.uiLine2);
this.PagePanel.Controls.Add(this.uiDatePicker1);
this.PagePanel.Controls.Add(this.uiComboBox2);
this.PagePanel.Controls.Add(this.uiComboBox1);
//
// uiLine8
//
this.uiLine8.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine8.Location = new System.Drawing.Point(388, 102);
this.uiLine8.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine8.Name = "uiLine8";
this.uiLine8.Size = new System.Drawing.Size(306, 20);
this.uiLine8.TabIndex = 42;
this.uiLine8.Text = "UIDatetimePicker";
this.uiLine8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiDatetimePicker1
//
this.uiDatetimePicker1.FillColor = System.Drawing.Color.White;
this.uiDatetimePicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiDatetimePicker1.Location = new System.Drawing.Point(388, 136);
this.uiDatetimePicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiDatetimePicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiDatetimePicker1.Name = "uiDatetimePicker1";
this.uiDatetimePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiDatetimePicker1.Size = new System.Drawing.Size(306, 29);
this.uiDatetimePicker1.TabIndex = 41;
this.uiDatetimePicker1.Text = "2020-06-02 17:57:28";
this.uiDatetimePicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiDatetimePicker1.Value = new System.DateTime(2020, 6, 2, 17, 57, 28, 203);
//
// uiColorPicker1
//
this.uiColorPicker1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiColorPicker1.FillColor = System.Drawing.Color.White;
this.uiColorPicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiColorPicker1.Location = new System.Drawing.Point(388, 54);
this.uiColorPicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiColorPicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiColorPicker1.Name = "uiColorPicker1";
this.uiColorPicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiColorPicker1.Size = new System.Drawing.Size(150, 29);
this.uiColorPicker1.TabIndex = 40;
this.uiColorPicker1.Text = "uiColorPicker1";
this.uiColorPicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiColorPicker1.Value = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(159)))), ((int)(((byte)(254)))));
//
// uiLine7
//
this.uiLine7.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine7.Location = new System.Drawing.Point(388, 20);
this.uiLine7.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine7.Name = "uiLine7";
this.uiLine7.Size = new System.Drawing.Size(306, 20);
this.uiLine7.TabIndex = 39;
this.uiLine7.Text = "UIColorPicker";
this.uiLine7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLine6
//
this.uiLine6.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine6.Location = new System.Drawing.Point(188, 102);
this.uiLine6.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine6.Name = "uiLine6";
this.uiLine6.Size = new System.Drawing.Size(150, 20);
this.uiLine6.TabIndex = 38;
this.uiLine6.Text = "UITimePicker";
this.uiLine6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiTimePicker1
//
this.uiTimePicker1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiTimePicker1.FillColor = System.Drawing.Color.White;
this.uiTimePicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTimePicker1.Location = new System.Drawing.Point(188, 136);
this.uiTimePicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTimePicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiTimePicker1.Name = "uiTimePicker1";
this.uiTimePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiTimePicker1.Size = new System.Drawing.Size(150, 29);
this.uiTimePicker1.SymbolDropDown = 61555;
this.uiTimePicker1.SymbolNormal = 61555;
this.uiTimePicker1.TabIndex = 37;
this.uiTimePicker1.Text = "23:41:39";
this.uiTimePicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiTimePicker1.Value = new System.DateTime(2020, 5, 29, 23, 41, 39, 684);
//
// uiLine3
//
this.uiLine3.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine3.Location = new System.Drawing.Point(30, 102);
this.uiLine3.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine3.Name = "uiLine3";
this.uiLine3.Size = new System.Drawing.Size(150, 20);
this.uiLine3.TabIndex = 36;
this.uiLine3.Text = "UIDatePicker";
this.uiLine3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLine2
//
this.uiLine2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine2.Location = new System.Drawing.Point(30, 20);
this.uiLine2.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine2.Name = "uiLine2";
this.uiLine2.Size = new System.Drawing.Size(308, 20);
this.uiLine2.TabIndex = 35;
this.uiLine2.Text = "UIComboBox";
this.uiLine2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiDatePicker1
//
this.uiDatePicker1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiDatePicker1.FillColor = System.Drawing.Color.White;
this.uiDatePicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiDatePicker1.Location = new System.Drawing.Point(30, 136);
this.uiDatePicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiDatePicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiDatePicker1.Name = "uiDatePicker1";
this.uiDatePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiDatePicker1.Size = new System.Drawing.Size(150, 29);
this.uiDatePicker1.SymbolDropDown = 61555;
this.uiDatePicker1.SymbolNormal = 61555;
this.uiDatePicker1.TabIndex = 34;
this.uiDatePicker1.Text = "2020-04-16";
this.uiDatePicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiDatePicker1.Value = new System.DateTime(2020, 4, 16, 0, 0, 0, 0);
//
// uiComboBox2
//
this.uiComboBox2.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiComboBox2.FillColor = System.Drawing.Color.White;
this.uiComboBox2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiComboBox2.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5",
"6"});
this.uiComboBox2.Location = new System.Drawing.Point(188, 54);
this.uiComboBox2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiComboBox2.MinimumSize = new System.Drawing.Size(63, 0);
this.uiComboBox2.Name = "uiComboBox2";
this.uiComboBox2.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiComboBox2.Size = new System.Drawing.Size(150, 29);
this.uiComboBox2.TabIndex = 33;
this.uiComboBox2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiComboBox1
//
this.uiComboBox1.FillColor = System.Drawing.Color.White;
this.uiComboBox1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiComboBox1.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5",
"6"});
this.uiComboBox1.Location = new System.Drawing.Point(30, 54);
this.uiComboBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiComboBox1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiComboBox1.Name = "uiComboBox1";
this.uiComboBox1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiComboBox1.Size = new System.Drawing.Size(150, 29);
this.uiComboBox1.TabIndex = 32;
this.uiComboBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiComboBox1.Watermark = "水印文字";
//
// FCombobox
//
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Name = "FCombobox";
this.Text = "Combobox";
this.PagePanel.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private UILine uiLine8;
private UIDatetimePicker uiDatetimePicker1;
private UIColorPicker uiColorPicker1;
private UILine uiLine7;
private UILine uiLine6;
private UITimePicker uiTimePicker1;
private UILine uiLine3;
private UILine uiLine2;
private UIDatePicker uiDatePicker1;
private UIComboBox uiComboBox2;
private UIComboBox uiComboBox1;
}
}

View File

@ -0,0 +1,15 @@
using System;
namespace Sunny.UI.Demo
{
public partial class FCombobox : UITitlePage
{
public FCombobox()
{
InitializeComponent();
uiDatePicker1.Value = DateTime.Today;
uiTimePicker1.Value = DateTime.Now;
uiDatetimePicker1.Value = DateTime.Now;
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -35,43 +35,27 @@
this.uiTextBox2 = new Sunny.UI.UITextBox();
this.uiLabel3 = new Sunny.UI.UILabel();
this.uiTextBox3 = new Sunny.UI.UITextBox();
this.uiComboBox1 = new Sunny.UI.UIComboBox();
this.uiComboBox2 = new Sunny.UI.UIComboBox();
this.uiDatePicker1 = new Sunny.UI.UIDatePicker();
this.uiDoubleUpDown1 = new Sunny.UI.UIDoubleUpDown();
this.uiLine1 = new Sunny.UI.UILine();
this.uiLine2 = new Sunny.UI.UILine();
this.uiLine3 = new Sunny.UI.UILine();
this.uiLine4 = new Sunny.UI.UILine();
this.uiLine5 = new Sunny.UI.UILine();
this.uiTimePicker1 = new Sunny.UI.UITimePicker();
this.uiLine6 = new Sunny.UI.UILine();
this.uiLine7 = new Sunny.UI.UILine();
this.uiColorPicker1 = new Sunny.UI.UIColorPicker();
this.uiDatetimePicker1 = new Sunny.UI.UIDatetimePicker();
this.uiLine8 = new Sunny.UI.UILine();
this.uiDatetimePicker2 = new Sunny.UI.UIDatetimePicker();
this.uiRichTextBox1 = new Sunny.UI.UIRichTextBox();
this.uiLine2 = new Sunny.UI.UILine();
this.uiLine3 = new Sunny.UI.UILine();
this.uiTextBox4 = new Sunny.UI.UITextBox();
this.PagePanel.SuspendLayout();
this.SuspendLayout();
//
// PagePanel
//
this.PagePanel.Controls.Add(this.uiDatetimePicker2);
this.PagePanel.Controls.Add(this.uiLine8);
this.PagePanel.Controls.Add(this.uiDatetimePicker1);
this.PagePanel.Controls.Add(this.uiColorPicker1);
this.PagePanel.Controls.Add(this.uiLine7);
this.PagePanel.Controls.Add(this.uiLine6);
this.PagePanel.Controls.Add(this.uiTimePicker1);
this.PagePanel.Controls.Add(this.uiLine5);
this.PagePanel.Controls.Add(this.uiLine4);
this.PagePanel.Controls.Add(this.uiTextBox4);
this.PagePanel.Controls.Add(this.uiLine3);
this.PagePanel.Controls.Add(this.uiLine2);
this.PagePanel.Controls.Add(this.uiRichTextBox1);
this.PagePanel.Controls.Add(this.uiLine5);
this.PagePanel.Controls.Add(this.uiLine4);
this.PagePanel.Controls.Add(this.uiLine1);
this.PagePanel.Controls.Add(this.uiDoubleUpDown1);
this.PagePanel.Controls.Add(this.uiDatePicker1);
this.PagePanel.Controls.Add(this.uiComboBox2);
this.PagePanel.Controls.Add(this.uiComboBox1);
this.PagePanel.Controls.Add(this.uiLabel3);
this.PagePanel.Controls.Add(this.uiTextBox3);
this.PagePanel.Controls.Add(this.uiLabel2);
@ -101,6 +85,8 @@
this.uiTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTextBox1.Location = new System.Drawing.Point(117, 54);
this.uiTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTextBox1.Maximum = 2147483647D;
this.uiTextBox1.Minimum = -2147483648D;
this.uiTextBox1.Name = "uiTextBox1";
this.uiTextBox1.Padding = new System.Windows.Forms.Padding(5);
this.uiTextBox1.Size = new System.Drawing.Size(221, 29);
@ -169,6 +155,8 @@
this.uiTextBox3.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTextBox3.Location = new System.Drawing.Point(117, 132);
this.uiTextBox3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTextBox3.Maximum = 2147483647D;
this.uiTextBox3.Minimum = -2147483648D;
this.uiTextBox3.Name = "uiTextBox3";
this.uiTextBox3.Padding = new System.Windows.Forms.Padding(5);
this.uiTextBox3.Size = new System.Drawing.Size(221, 29);
@ -176,66 +164,6 @@
this.uiTextBox3.Type = Sunny.UI.UITextBox.UIEditType.Double;
this.uiTextBox3.Watermark = "水印文字";
//
// uiComboBox1
//
this.uiComboBox1.FillColor = System.Drawing.Color.White;
this.uiComboBox1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiComboBox1.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5",
"6"});
this.uiComboBox1.Location = new System.Drawing.Point(30, 212);
this.uiComboBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiComboBox1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiComboBox1.Name = "uiComboBox1";
this.uiComboBox1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiComboBox1.Size = new System.Drawing.Size(150, 29);
this.uiComboBox1.TabIndex = 11;
this.uiComboBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiComboBox1.Watermark = "水印文字";
//
// uiComboBox2
//
this.uiComboBox2.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiComboBox2.FillColor = System.Drawing.Color.White;
this.uiComboBox2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiComboBox2.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5",
"6"});
this.uiComboBox2.Location = new System.Drawing.Point(188, 212);
this.uiComboBox2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiComboBox2.MinimumSize = new System.Drawing.Size(63, 0);
this.uiComboBox2.Name = "uiComboBox2";
this.uiComboBox2.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiComboBox2.Size = new System.Drawing.Size(150, 29);
this.uiComboBox2.TabIndex = 12;
this.uiComboBox2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiDatePicker1
//
this.uiDatePicker1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiDatePicker1.FillColor = System.Drawing.Color.White;
this.uiDatePicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiDatePicker1.Location = new System.Drawing.Point(30, 294);
this.uiDatePicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiDatePicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiDatePicker1.Name = "uiDatePicker1";
this.uiDatePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiDatePicker1.Size = new System.Drawing.Size(150, 29);
this.uiDatePicker1.SymbolDropDown = 61555;
this.uiDatePicker1.SymbolNormal = 61555;
this.uiDatePicker1.TabIndex = 13;
this.uiDatePicker1.Text = "2020-04-16";
this.uiDatePicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiDatePicker1.Value = new System.DateTime(2020, 4, 16, 0, 0, 0, 0);
//
// uiDoubleUpDown1
//
this.uiDoubleUpDown1.Font = new System.Drawing.Font("微软雅黑", 12F);
@ -259,28 +187,6 @@
this.uiLine1.Text = "UITextBox";
this.uiLine1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLine2
//
this.uiLine2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine2.Location = new System.Drawing.Point(30, 178);
this.uiLine2.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine2.Name = "uiLine2";
this.uiLine2.Size = new System.Drawing.Size(308, 20);
this.uiLine2.TabIndex = 21;
this.uiLine2.Text = "UICombobox";
this.uiLine2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLine3
//
this.uiLine3.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine3.Location = new System.Drawing.Point(30, 260);
this.uiLine3.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine3.Name = "uiLine3";
this.uiLine3.Size = new System.Drawing.Size(150, 20);
this.uiLine3.TabIndex = 22;
this.uiLine3.Text = "UIDatePicker";
this.uiLine3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLine4
//
this.uiLine4.Font = new System.Drawing.Font("微软雅黑", 12F);
@ -303,102 +209,63 @@
this.uiLine5.Text = "UIDoubleUpDown";
this.uiLine5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiTimePicker1
// uiRichTextBox1
//
this.uiTimePicker1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiTimePicker1.FillColor = System.Drawing.Color.White;
this.uiTimePicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTimePicker1.Location = new System.Drawing.Point(188, 294);
this.uiTimePicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTimePicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiTimePicker1.Name = "uiTimePicker1";
this.uiTimePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiTimePicker1.Size = new System.Drawing.Size(150, 29);
this.uiTimePicker1.SymbolDropDown = 61555;
this.uiTimePicker1.SymbolNormal = 61555;
this.uiTimePicker1.TabIndex = 25;
this.uiTimePicker1.Text = "23:41:39";
this.uiTimePicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiTimePicker1.Value = new System.DateTime(2020, 5, 29, 23, 41, 39, 684);
this.uiRichTextBox1.AutoWordSelection = true;
this.uiRichTextBox1.FillColor = System.Drawing.Color.White;
this.uiRichTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiRichTextBox1.Location = new System.Drawing.Point(388, 219);
this.uiRichTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiRichTextBox1.Name = "uiRichTextBox1";
this.uiRichTextBox1.Padding = new System.Windows.Forms.Padding(2);
this.uiRichTextBox1.Size = new System.Drawing.Size(308, 226);
this.uiRichTextBox1.Style = Sunny.UI.UIStyle.Custom;
this.uiRichTextBox1.TabIndex = 32;
this.uiRichTextBox1.Text = "Blog: https://www.cnblogs.com/yhuse\nGitee: https://gitee.com/yhuse/SunnyUI\nGitHub" +
": https://github.com/yhuse/SunnyUI\nSunnyUI.Net 系列文章目录\n欢迎交流QQ群 56829229 (SunnyU" +
"I技术交流群)请给源码项目点个Star吧";
//
// uiLine6
// uiLine2
//
this.uiLine6.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine6.Location = new System.Drawing.Point(188, 260);
this.uiLine6.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine6.Name = "uiLine6";
this.uiLine6.Size = new System.Drawing.Size(150, 20);
this.uiLine6.TabIndex = 26;
this.uiLine6.Text = "UITimePicker";
this.uiLine6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.uiLine2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine2.Location = new System.Drawing.Point(30, 180);
this.uiLine2.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine2.Name = "uiLine2";
this.uiLine2.Size = new System.Drawing.Size(308, 20);
this.uiLine2.TabIndex = 33;
this.uiLine2.Text = "UITextBox";
this.uiLine2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLine7
// uiLine3
//
this.uiLine7.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine7.Location = new System.Drawing.Point(30, 342);
this.uiLine7.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine7.Name = "uiLine7";
this.uiLine7.Size = new System.Drawing.Size(150, 20);
this.uiLine7.TabIndex = 28;
this.uiLine7.Text = "UIColorPicker";
this.uiLine7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.uiLine3.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine3.Location = new System.Drawing.Point(388, 180);
this.uiLine3.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine3.Name = "uiLine3";
this.uiLine3.Size = new System.Drawing.Size(308, 20);
this.uiLine3.TabIndex = 34;
this.uiLine3.Text = "UIRichTextBox";
this.uiLine3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiColorPicker1
// uiTextBox4
//
this.uiColorPicker1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.uiColorPicker1.FillColor = System.Drawing.Color.White;
this.uiColorPicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiColorPicker1.Location = new System.Drawing.Point(30, 376);
this.uiColorPicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiColorPicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiColorPicker1.Name = "uiColorPicker1";
this.uiColorPicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiColorPicker1.Size = new System.Drawing.Size(150, 29);
this.uiColorPicker1.TabIndex = 29;
this.uiColorPicker1.Text = "uiColorPicker1";
this.uiColorPicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiColorPicker1.Value = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(159)))), ((int)(((byte)(254)))));
//
// uiDatetimePicker1
//
this.uiDatetimePicker1.FillColor = System.Drawing.Color.White;
this.uiDatetimePicker1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiDatetimePicker1.Location = new System.Drawing.Point(388, 294);
this.uiDatetimePicker1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiDatetimePicker1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiDatetimePicker1.Name = "uiDatetimePicker1";
this.uiDatetimePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiDatetimePicker1.Size = new System.Drawing.Size(306, 29);
this.uiDatetimePicker1.TabIndex = 30;
this.uiDatetimePicker1.Text = "2020-06-02 17:57:28";
this.uiDatetimePicker1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiDatetimePicker1.Value = new System.DateTime(2020, 6, 2, 17, 57, 28, 203);
//
// uiLine8
//
this.uiLine8.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiLine8.Location = new System.Drawing.Point(388, 260);
this.uiLine8.MinimumSize = new System.Drawing.Size(16, 16);
this.uiLine8.Name = "uiLine8";
this.uiLine8.Size = new System.Drawing.Size(306, 20);
this.uiLine8.TabIndex = 31;
this.uiLine8.Text = "UIDatetimePicker";
this.uiLine8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiDatetimePicker2
//
this.uiDatetimePicker2.FillColor = System.Drawing.Color.White;
this.uiDatetimePicker2.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiDatetimePicker2.Location = new System.Drawing.Point(355, 361);
this.uiDatetimePicker2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiDatetimePicker2.MinimumSize = new System.Drawing.Size(63, 0);
this.uiDatetimePicker2.Name = "uiDatetimePicker2";
this.uiDatetimePicker2.Padding = new System.Windows.Forms.Padding(0, 0, 30, 0);
this.uiDatetimePicker2.Size = new System.Drawing.Size(249, 29);
this.uiDatetimePicker2.TabIndex = 32;
this.uiDatetimePicker2.Text = "uiDatetimePicker2";
this.uiDatetimePicker2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiDatetimePicker2.Value = new System.DateTime(2020, 6, 4, 21, 41, 10, 904);
this.uiTextBox4.Cursor = System.Windows.Forms.Cursors.IBeam;
this.uiTextBox4.FillColor = System.Drawing.Color.White;
this.uiTextBox4.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiTextBox4.Location = new System.Drawing.Point(30, 219);
this.uiTextBox4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTextBox4.Maximum = 2147483647D;
this.uiTextBox4.Minimum = -2147483648D;
this.uiTextBox4.Multiline = true;
this.uiTextBox4.Name = "uiTextBox4";
this.uiTextBox4.Padding = new System.Windows.Forms.Padding(5);
this.uiTextBox4.Size = new System.Drawing.Size(308, 226);
this.uiTextBox4.Style = Sunny.UI.UIStyle.Custom;
this.uiTextBox4.TabIndex = 35;
this.uiTextBox4.Text = "Blog: https://www.cnblogs.com/yhuse\r\nGitee: https://gitee.com/yhuse/SunnyUI\r\nGitH" +
"ub: https://github.com/yhuse/SunnyUI\r\nSunnyUI.Net 系列文章目录\r\n欢迎交流QQ群 56829229 (Su" +
"nnyUI技术交流群)请给源码项目点个Star吧";
this.uiTextBox4.Watermark = "水印文字";
//
// FTextBox
//
@ -422,21 +289,13 @@
private UILabel uiLabel1;
private UITextBox uiTextBox1;
private UIIntegerUpDown uiIntegerUpDown1;
private UIDatePicker uiDatePicker1;
private UIComboBox uiComboBox2;
private UIComboBox uiComboBox1;
private UIDoubleUpDown uiDoubleUpDown1;
private UILine uiLine4;
private UILine uiLine3;
private UILine uiLine2;
private UILine uiLine1;
private UILine uiLine5;
private UITimePicker uiTimePicker1;
private UILine uiLine6;
private UILine uiLine7;
private UIColorPicker uiColorPicker1;
private UILine uiLine8;
private UIDatetimePicker uiDatetimePicker1;
private UIDatetimePicker uiDatetimePicker2;
private UIRichTextBox uiRichTextBox1;
private UITextBox uiTextBox4;
private UILine uiLine3;
private UILine uiLine2;
}
}

View File

@ -1,16 +1,10 @@
using System;
namespace Sunny.UI.Demo
namespace Sunny.UI.Demo
{
public partial class FTextBox : UITitlePage
{
public FTextBox()
{
InitializeComponent();
uiDatePicker1.Value = DateTime.Today;
uiTimePicker1.Value = DateTime.Now;
uiDatetimePicker1.Value = DateTime.Now;
}
}
}

View File

@ -18,6 +18,7 @@ namespace Sunny.UI.Demo
Aside.CreateChildNode(parent, 61770, 24, AddPage(new FCheckBox(), ++pageIndex));
Aside.CreateChildNode(parent, 61842, 24, AddPage(new FRadioButton(), ++pageIndex));
Aside.CreateChildNode(parent, 61962, 24, AddPage(new FTextBox(), ++pageIndex));
Aside.CreateChildNode(parent, 61776, 24, AddPage(new FCombobox(), ++pageIndex));
Aside.CreateChildNode(parent, 61646, 24, AddPage(new FDataGridView(), ++pageIndex));
Aside.CreateChildNode(parent, 61474, 24, AddPage(new FListBox(), ++pageIndex));
Aside.CreateChildNode(parent, 61499, 24, AddPage(new FTreeView(), ++pageIndex));

View File

@ -105,6 +105,12 @@
<Compile Include="Controls\FContextMenuStrip.Designer.cs">
<DependentUpon>FContextMenuStrip.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FCombobox.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Controls\FCombobox.Designer.cs">
<DependentUpon>FCombobox.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FEdit.cs">
<SubType>Form</SubType>
</Compile>
@ -266,6 +272,9 @@
<EmbeddedResource Include="Controls\FCheckBox.resx">
<DependentUpon>FCheckBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FCombobox.resx">
<DependentUpon>FCombobox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FMeter.resx">
<DependentUpon>FMeter.cs</DependentUpon>
</EmbeddedResource>

View File

@ -18,6 +18,8 @@ namespace Sunny.UI
this.ButtonClick += new System.EventHandler(this.UIDatetimePicker_ButtonClick);
this.ResumeLayout(false);
this.PerformLayout();
DropDownStyle = UIDropDownStyle.DropDownList;
}
public UIDatetimePicker()

View File

@ -34,8 +34,8 @@ namespace Sunny.UI
private bool hasMaxValue;
private bool hasMinValue;
private string mask = "0.00";
private double maxValue = double.MaxValue;
private double minValue = double.MinValue;
private double maxValue = int.MaxValue;
private double minValue = int.MinValue;
private UITextBox.UIEditType _uiEditType = UITextBox.UIEditType.String;
public UIEdit()
@ -45,7 +45,7 @@ namespace Sunny.UI
Font = UIFontColor.Font;
ForeColor = UIFontColor.Primary;
Width = 150;
MaxLength = 255;
MaxLength = 32767;
}
private string watermark;

View File

@ -0,0 +1,773 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.IO;
using System.Windows.Forms;
namespace Sunny.UI
{
[DefaultEvent("TextChanged")]
[DefaultProperty("Text")]
public sealed class UIRichTextBox : UIPanel
{
private UIScrollBar bar;
private RichTextBox edit;
public UIRichTextBox()
{
InitializeComponent();
ShowText = false;
edit.MouseWheel += OnMouseWheel;
edit.TextChanged += Edit_TextChanged;
edit.KeyDown += EditOnKeyDown;
edit.KeyUp += EditOnKeyUp;
edit.KeyPress += EditOnKeyPress;
bar.Parent = this;
bar.Style = UIStyle.Custom;
bar.Visible = false;
bar.ValueChanged += Bar_ValueChanged;
bar.MouseEnter += Bar_MouseEnter;
SizeChange();
edit.DragDrop += Edit_DragDrop;
edit.DragEnter += Edit_DragEnter;
edit.DragLeave += Edit_DragLeave;
edit.DragOver += Edit_DragOver;
edit.GiveFeedback += Edit_GiveFeedback;
edit.QueryContinueDrag += Edit_QueryContinueDrag;
edit.LinkClicked += Edit_LinkClicked;
edit.Protected += Edit_Protected;
edit.SelectionChanged += Edit_SelectionChanged;
edit.ScrollBars = RichTextBoxScrollBars.Vertical;
}
private bool showScrollBar = true;
// [DefaultValue(true)]
// public bool ShowScrollBar
// {
// get => showScrollBar;
// set
// {
// showScrollBar = value;
// bar.Visible = value;
// edit.ScrollBars = value ? RichTextBoxScrollBars.Vertical : RichTextBoxScrollBars.None;
// SetScrollInfo();
// }
// }
private void Edit_SelectionChanged(object sender, EventArgs e)
{
SelectionChanged?.Invoke(sender, e);
}
private void Edit_Protected(object sender, EventArgs e)
{
Protected?.Invoke(sender, e);
}
private void Edit_LinkClicked(object sender, LinkClickedEventArgs e)
{
LinkClicked?.Invoke(sender, e);
}
private void Edit_QueryContinueDrag(object sender, QueryContinueDragEventArgs e)
{
QueryContinueDrag?.Invoke(sender, e);
}
private void Edit_GiveFeedback(object sender, GiveFeedbackEventArgs e)
{
GiveFeedback?.Invoke(sender, e);
}
private void Edit_DragOver(object sender, DragEventArgs e)
{
DragOver?.Invoke(sender, e);
}
private void Edit_DragLeave(object sender, EventArgs e)
{
DragLeave?.Invoke(sender, e);
}
private void Edit_DragEnter(object sender, DragEventArgs e)
{
DragEnter?.Invoke(sender, e);
}
private void Edit_DragDrop(object sender, DragEventArgs e)
{
DragDrop?.Invoke(sender, e);
}
public new event KeyEventHandler KeyDown;
public new event KeyEventHandler KeyUp;
public new event KeyPressEventHandler KeyPress;
protected override void OnGotFocus(EventArgs e)
{
base.OnGotFocus(e);
edit.Focus();
}
protected override void OnMouseDown(MouseEventArgs e)
{
ActiveControl = edit;
}
public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
if (uiColor.IsCustom()) return;
edit.BackColor = fillColor = Color.White;
edit.ForeColor = foreColor = UIFontColor.Primary;
if (bar != null)
{
bar.ForeColor = uiColor.PrimaryColor;
bar.HoverColor = uiColor.ButtonFillHoverColor;
bar.PressColor = uiColor.ButtonFillPressColor;
bar.FillColor = Color.White;
}
Invalidate();
}
protected override void AfterSetForeColor(Color color)
{
base.AfterSetForeColor(color);
edit.ForeColor = color;
}
protected override void AfterSetFillColor(Color color)
{
base.AfterSetFillColor(color);
edit.BackColor = color;
}
private void EditOnKeyPress(object sender, KeyPressEventArgs e)
{
KeyPress?.Invoke(sender, e);
}
private void EditOnKeyDown(object sender, KeyEventArgs e)
{
KeyDown?.Invoke(sender, e);
}
private void EditOnKeyUp(object sender, KeyEventArgs e)
{
KeyUp?.Invoke(sender, e);
}
[CategoryAttribute("文字"), Browsable(true)]
[DefaultValue("")]
public override string Text
{
get => edit.Text;
set => edit.Text = value;
}
[Browsable(true)]
public new event EventHandler TextChanged;
private void Edit_TextChanged(object sender, EventArgs e)
{
TextChanged?.Invoke(this, e);
SetScrollInfo();
}
private void Bar_MouseEnter(object sender, EventArgs e)
{
Cursor = Cursors.Default;
}
private void Bar_ValueChanged(object sender, EventArgs e)
{
if (edit != null)
{
ScrollBarInfo.SetScrollValue(edit.Handle, bar.Value);
}
}
private void OnMouseWheel(object sender, MouseEventArgs e)
{
base.OnMouseWheel(e);
if (bar.Visible)
{
var si = ScrollBarInfo.GetInfo(Handle);
if (e.Delta > 10)
{
if (si.nPos > 0)
{
ScrollBarInfo.ScrollUp(Handle);
}
}
else if (e.Delta < -10)
{
if (si.nPos < si.ScrollMax)
{
ScrollBarInfo.ScrollDown(Handle);
}
}
}
SetScrollInfo();
}
public void SetScrollInfo()
{
if (bar == null)
{
return;
}
var si = ScrollBarInfo.GetInfo(edit.Handle);
if (si.ScrollMax > 0)
{
bar.Maximum = si.ScrollMax;
bar.Visible = showScrollBar && (si.ScrollMax > 0 && si.nMax > 0 && si.nPage > 0);
bar.Value = si.nPos;
}
else
{
bar.Visible = false;
}
}
private void SizeChange()
{
bar.Top = 2;
bar.Width = ScrollBarInfo.VerticalScrollBarWidth();
bar.Left = Width - bar.Width - 1;
bar.Height = Height - 4;
bar.BringToFront();
SetScrollInfo();
}
private void InitializeComponent()
{
this.edit = new System.Windows.Forms.RichTextBox();
this.bar = new Sunny.UI.UIScrollBar();
this.SuspendLayout();
//
// edit
//
this.edit.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.edit.Dock = System.Windows.Forms.DockStyle.Fill;
this.edit.Location = new System.Drawing.Point(2, 2);
this.edit.Name = "edit";
this.edit.Size = new System.Drawing.Size(266, 176);
this.edit.TabIndex = 0;
this.edit.Text = "";
//
// bar
//
this.bar.Font = new System.Drawing.Font("微软雅黑", 12F);
this.bar.Location = new System.Drawing.Point(247, 4);
this.bar.Name = "bar";
this.bar.Size = new System.Drawing.Size(19, 173);
this.bar.Style = Sunny.UI.UIStyle.Custom;
this.bar.TabIndex = 2;
this.bar.Text = "uiScrollBar1";
//
// UIRichTextBox
//
this.Controls.Add(this.bar);
this.Controls.Add(this.edit);
this.FillColor = System.Drawing.Color.White;
this.Name = "UIRichTextBox";
this.Padding = new System.Windows.Forms.Padding(2);
this.Style = Sunny.UI.UIStyle.Custom;
this.FontChanged += new System.EventHandler(this.UIRichTextBox_FontChanged);
this.SizeChanged += new System.EventHandler(this.UIRichTextBox_SizeChanged);
this.ResumeLayout(false);
}
private void UIRichTextBox_SizeChanged(object sender, EventArgs e)
{
SizeChange();
}
private void UIRichTextBox_FontChanged(object sender, EventArgs e)
{
edit.Font = Font;
}
#region TextBoxBase
[DefaultValue(false)]
public bool AcceptsTab
{
get => edit.AcceptsTab;
set => edit.AcceptsTab = value;
}
[DefaultValue(true)]
public bool ShortcutsEnabled
{
get => edit.ShortcutsEnabled;
set => edit.ShortcutsEnabled = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool CanUndo
{
get => edit.CanUndo;
}
[DefaultValue(true)]
public bool HideSelection
{
get => edit.HideSelection;
set => edit.HideSelection = value;
}
[
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
MergableProperty(false),
Localizable(true),
Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))
]
public string[] Lines
{
get => edit.Lines;
set => edit.Lines = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool Modified
{
get => edit.Modified;
set => edit.Modified = value;
}
[
Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
]
public int PreferredHeight
{
get => edit.PreferredHeight;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string SelectedText
{
get => edit.SelectedText;
set => edit.SelectedText = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionLength
{
get => edit.SelectionLength;
set => edit.SelectionLength = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionStart
{
get => edit.SelectionStart;
set => edit.SelectionStart = value;
}
[Browsable(false)]
public int TextLength
{
get => edit.TextLength;
}
public void AppendText(string text)
{
edit.AppendText(text);
}
public void ClearUndo()
{
edit.ClearUndo();
}
public void Copy()
{
edit.Copy();
}
public void Cut()
{
edit.Cut();
}
public void Paste()
{
edit.Paste();
}
public char GetCharFromPosition(Point pt)
{
return edit.GetCharFromPosition(pt);
}
public int GetCharIndexFromPosition(Point pt)
{
return edit.GetCharIndexFromPosition(pt);
}
public int GetLineFromCharIndex(int index)
{
return edit.GetLineFromCharIndex(index);
}
public Point GetPositionFromCharIndex(int index)
{
return edit.GetPositionFromCharIndex(index);
}
public int GetFirstCharIndexFromLine(int lineNumber)
{
return edit.GetFirstCharIndexFromLine(lineNumber);
}
public int GetFirstCharIndexOfCurrentLine()
{
return edit.GetFirstCharIndexOfCurrentLine();
}
public void DeselectAll()
{
edit.DeselectAll();
}
public void Undo()
{
edit.Undo();
}
#endregion TextBoxBase
#region RichTextBox
[Browsable(false)]
public override bool AllowDrop
{
get => edit.AllowDrop;
set => edit.AllowDrop = value;
}
[DefaultValue(false)]
public bool AutoWordSelection
{
get => edit.AllowDrop;
set => edit.AllowDrop = value;
}
[DefaultValue(0), Localizable(true)]
public int BulletIndent
{
get => edit.BulletIndent;
set => edit.BulletIndent = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool CanRedo
{
get => edit.CanRedo;
}
[DefaultValue(true)]
public bool DetectUrls
{
get => edit.DetectUrls;
set => edit.DetectUrls = value;
}
[DefaultValue(false)]
public bool EnableAutoDragDrop
{
get => edit.EnableAutoDragDrop;
set => edit.EnableAutoDragDrop = value;
}
[
Browsable(false),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
]
public RichTextBoxLanguageOptions LanguageOption
{
get => edit.LanguageOption;
set => edit.LanguageOption = value;
}
[DefaultValue(int.MaxValue)]
public int MaxLength
{
get => edit.MaxLength;
set => edit.MaxLength = value;
}
[DefaultValue(true)]
public bool Multiline
{
get => edit.Multiline;
set => edit.Multiline = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string RedoActionName
{
get => edit.RedoActionName;
}
[DefaultValue(true), Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public bool RichTextShortcutsEnabled
{
get => edit.RichTextShortcutsEnabled;
set => edit.RichTextShortcutsEnabled = value;
}
[DefaultValue(0), Localizable(true)]
public int RightMargin
{
get => edit.RightMargin;
set => edit.RightMargin = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), RefreshProperties(RefreshProperties.All)]
public string Rtf
{
get => edit.Rtf;
set => edit.Rtf = value;
}
[DefaultValue(HorizontalAlignment.Left), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public HorizontalAlignment SelectionAlignment
{
get => edit.SelectionAlignment;
set => edit.SelectionAlignment = value;
}
[DefaultValue(false), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool SelectionBullet
{
get => edit.SelectionBullet;
set => edit.SelectionBullet = value;
}
[DefaultValue(0), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionCharOffset
{
get => edit.SelectionCharOffset;
set => edit.SelectionCharOffset = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public Color SelectionColor
{
get => edit.SelectionColor;
set => edit.SelectionColor = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public Color SelectionBackColor
{
get => edit.SelectionBackColor;
set => edit.SelectionBackColor = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public Font SelectionFont
{
get => edit.SelectionFont;
set => edit.SelectionFont = value;
}
[DefaultValue(0), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionHangingIndent
{
get => edit.SelectionHangingIndent;
set => edit.SelectionHangingIndent = value;
}
[DefaultValue(0), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionIndent
{
get => edit.SelectionIndent;
set => edit.SelectionIndent = value;
}
[DefaultValue(false), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool SelectionProtected
{
get => edit.SelectionProtected;
set => edit.SelectionProtected = value;
}
[DefaultValue(""), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string SelectedRtf
{
get => edit.SelectedRtf;
set => edit.SelectedRtf = value;
}
[DefaultValue(0), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionRightIndent
{
get => edit.SelectionRightIndent;
set => edit.SelectionRightIndent = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int[] SelectionTabs
{
get => edit.SelectionTabs;
set => edit.SelectionTabs = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public RichTextBoxSelectionTypes SelectionType
{
get => edit.SelectionType;
}
[DefaultValue(false)]
public bool ShowSelectionMargin
{
get => edit.ShowSelectionMargin;
set => edit.ShowSelectionMargin = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string UndoActionName
{
get => edit.UndoActionName;
}
[DefaultValue(1.0f), Localizable(true)]
public float ZoomFactor
{
get => edit.ZoomFactor;
set => edit.ZoomFactor = value;
}
public bool CanPaste(DataFormats.Format clipFormat)
{
return edit.CanPaste(clipFormat);
}
[EditorBrowsable(EditorBrowsableState.Never)]
public new void DrawToBitmap(Bitmap bitmap, Rectangle targetBounds)
{
edit.DrawToBitmap(bitmap, targetBounds);
}
public int Find(string str)
{
return edit.Find(str);
}
public int Find(string str, RichTextBoxFinds options)
{
return edit.Find(str, options);
}
public int Find(string str, int start, RichTextBoxFinds options)
{
return edit.Find(str, start, options);
}
public int Find(string str, int start, int end, RichTextBoxFinds options)
{
return edit.Find(str, start, end, options);
}
public int Find(char[] characterSet)
{
return edit.Find(characterSet);
}
public int Find(char[] characterSet, int start)
{
return edit.Find(characterSet, start);
}
public int Find(char[] characterSet, int start, int end)
{
return edit.Find(characterSet, start, end);
}
public void LoadFile(string path)
{
edit.LoadFile(path);
}
public void LoadFile(string path, RichTextBoxStreamType fileType)
{
edit.LoadFile(path, fileType);
}
public void LoadFile(Stream data, RichTextBoxStreamType fileType)
{
edit.LoadFile(data, fileType);
}
public void Paste(DataFormats.Format clipFormat)
{
edit.Paste(clipFormat);
}
public void Redo()
{
edit.Redo();
}
public void SaveFile(string path)
{
edit.SaveFile(path);
}
public void SaveFile(string path, RichTextBoxStreamType fileType)
{
edit.SaveFile(path, fileType);
}
public void SaveFile(Stream data, RichTextBoxStreamType fileType)
{
edit.SaveFile(data, fileType);
}
[Browsable(false)]
public new event DragEventHandler DragDrop;
[Browsable(false)]
public new event DragEventHandler DragEnter;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new event EventHandler DragLeave;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new event DragEventHandler DragOver;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new event GiveFeedbackEventHandler GiveFeedback;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new event QueryContinueDragEventHandler QueryContinueDrag;
public event LinkClickedEventHandler LinkClicked;
public event EventHandler Protected;
public event EventHandler SelectionChanged;
#endregion RichTextBox
}
}

View File

@ -21,8 +21,10 @@
******************************************************************************/
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
@ -39,14 +41,15 @@ namespace Sunny.UI
{
InitializeComponent();
ShowText = false;
Font = UIFontColor.Font;
edit.Left = 3;
edit.Top = 3;
edit.Text = String.Empty;
edit.BorderStyle = BorderStyle.None;
edit.KeyDown += EditOnKeyDown;
edit.TextChanged += EditTextChanged;
edit.KeyDown += EditOnKeyDown;
edit.KeyUp += EditOnKeyUp;
edit.KeyPress += EditOnKeyPress;
edit.MouseEnter += Edit_MouseEnter;
@ -148,6 +151,11 @@ namespace Sunny.UI
KeyPress?.Invoke(sender, e);
}
private void EditOnKeyDown(object sender, KeyEventArgs e)
{
KeyDown?.Invoke(sender, e);
}
private void EditOnKeyUp(object sender, KeyEventArgs e)
{
KeyUp?.Invoke(sender, e);
@ -261,29 +269,6 @@ namespace Sunny.UI
}
}
private void EditOnKeyDown(object sender, KeyEventArgs e)
{
KeyDown?.Invoke(sender, e);
// if (e.Control && e.KeyCode == Keys.A)
// {
// edit.SelectAll();
// e.SuppressKeyPress = true;
// }
//
// if (e.Control && e.KeyCode == Keys.C)
// {
// edit.Copy();
// e.SuppressKeyPress = true;
// }
//
// if (e.Control && e.KeyCode == Keys.V)
// {
// edit.Paste();
// e.SuppressKeyPress = true;
// }
}
protected override void OnGotFocus(EventArgs e)
{
base.OnGotFocus(e);
@ -325,7 +310,7 @@ namespace Sunny.UI
/// 当InputType为数字类型时能输入的最大值
/// </summary>
[Description("当InputType为数字类型时能输入的最大值。")]
[DefaultValue(double.MaxValue)]
[DefaultValue(int.MaxValue)]
public double Maximum
{
get => edit.MaxValue;
@ -336,7 +321,7 @@ namespace Sunny.UI
/// 当InputType为数字类型时能输入的最小值
/// </summary>
[Description("当InputType为数字类型时能输入的最小值。")]
[DefaultValue(double.MinValue)]
[DefaultValue(int.MinValue)]
public double Minimum
{
get => edit.MinValue;
@ -410,7 +395,7 @@ namespace Sunny.UI
ActiveControl = edit;
}
[DefaultValue(255)]
[DefaultValue(32767)]
public int MaxLength
{
get => edit.MaxLength;
@ -465,5 +450,228 @@ namespace Sunny.UI
/// </summary>
Double
}
[DefaultValue(false)]
public bool AcceptsReturn
{
get => edit.AcceptsReturn;
set => edit.AcceptsReturn = value;
}
[DefaultValue(AutoCompleteMode.None), Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
public AutoCompleteMode AutoCompleteMode
{
get => edit.AutoCompleteMode;
set => edit.AutoCompleteMode = value;
}
[
DefaultValue(AutoCompleteSource.None),
TypeConverterAttribute(typeof(TextBoxAutoCompleteSourceConverter)),
Browsable(true),
EditorBrowsable(EditorBrowsableState.Always)
]
public AutoCompleteSource AutoCompleteSource
{
get => edit.AutoCompleteSource;
set => edit.AutoCompleteSource = value;
}
[
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
Localizable(true),
Editor("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)),
Browsable(true),
EditorBrowsable(EditorBrowsableState.Always)
]
public AutoCompleteStringCollection AutoCompleteCustomSource
{
get => edit.AutoCompleteCustomSource;
set => edit.AutoCompleteCustomSource = value;
}
[DefaultValue(CharacterCasing.Normal)]
public CharacterCasing CharacterCasing
{
get => edit.CharacterCasing;
set => edit.CharacterCasing = value;
}
public void Paste(string text)
{
edit.Paste(text);
}
internal class TextBoxAutoCompleteSourceConverter : EnumConverter
{
public TextBoxAutoCompleteSourceConverter(Type type) : base(type)
{
}
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
StandardValuesCollection values = base.GetStandardValues(context);
ArrayList list = new ArrayList();
int count = values.Count;
for (int i = 0; i < count; i++)
{
string currentItemText = values[i].ToString();
if (!currentItemText.Equals("ListItems"))
{
list.Add(values[i]);
}
}
return new StandardValuesCollection(list);
}
}
[DefaultValue(false)]
public bool AcceptsTab
{
get => edit.AcceptsTab;
set => edit.AcceptsTab = value;
}
[DefaultValue(true)]
public bool ShortcutsEnabled
{
get => edit.ShortcutsEnabled;
set => edit.ShortcutsEnabled = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool CanUndo
{
get => edit.CanUndo;
}
[DefaultValue(true)]
public bool HideSelection
{
get => edit.HideSelection;
set => edit.HideSelection = value;
}
[
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
MergableProperty(false),
Localizable(true),
Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))
]
public string[] Lines
{
get => edit.Lines;
set => edit.Lines = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public bool Modified
{
get => edit.Modified;
set => edit.Modified = value;
}
[
Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
]
public int PreferredHeight
{
get => edit.PreferredHeight;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string SelectedText
{
get => edit.SelectedText;
set => edit.SelectedText = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionLength
{
get => edit.SelectionLength;
set => edit.SelectionLength = value;
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int SelectionStart
{
get => edit.SelectionStart;
set => edit.SelectionStart = value;
}
[Browsable(false)]
public int TextLength
{
get => edit.TextLength;
}
public void AppendText(string text)
{
edit.AppendText(text);
}
public void ClearUndo()
{
edit.ClearUndo();
}
public void Copy()
{
edit.Copy();
}
public void Cut()
{
edit.Cut();
}
public void Paste()
{
edit.Paste();
}
public char GetCharFromPosition(Point pt)
{
return edit.GetCharFromPosition(pt);
}
public int GetCharIndexFromPosition(Point pt)
{
return edit.GetCharIndexFromPosition(pt);
}
public int GetLineFromCharIndex(int index)
{
return edit.GetLineFromCharIndex(index);
}
public Point GetPositionFromCharIndex(int index)
{
return edit.GetPositionFromCharIndex(index);
}
public int GetFirstCharIndexFromLine(int lineNumber)
{
return edit.GetFirstCharIndexFromLine(lineNumber);
}
public int GetFirstCharIndexOfCurrentLine()
{
return edit.GetFirstCharIndexOfCurrentLine();
}
public void DeselectAll()
{
edit.DeselectAll();
}
public void Undo()
{
edit.Undo();
}
}
}

View File

@ -97,6 +97,9 @@
<Compile Include="Controls\UIDatetimePicker.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\UIRichTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\UITimePicker.cs">
<SubType>UserControl</SubType>
</Compile>

View File

@ -1,5 +1,9 @@
+ 增加; - 删除; * 修改
2020.06.04
+ UIRichTextBox新增
* UITextBox完善TextBox的基本方法和函数
2020.06.04
+ UIBattery 新增
* UITextBoxInt和Double时可设置为空设置默认值可不为0