You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
703 lines
23 KiB
703 lines
23 KiB
#if NETFX || NETCORE
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Apewer.Surface
|
|
{
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public partial class BlockText : BaseControl
|
|
{
|
|
|
|
private const string modeinput = "input";
|
|
private const string moderadio = "radio";
|
|
private const string modecombo = "combo";
|
|
|
|
// private bool _lonely = false;
|
|
private bool _delemiter = false;
|
|
private bool _statehover = false, _statefocus = false;
|
|
private bool _busy = false;
|
|
private string _mode = modeinput;
|
|
|
|
// private Panel _body = new Panel();
|
|
private Panel _left = new Panel();
|
|
// private Panel _middle = new Panel();
|
|
private Panel _right = new Panel();
|
|
private BlockLabel _label = new BlockLabel();
|
|
|
|
private TextBox _input = new TextBox();
|
|
private ComboBox _combo = new ComboBox();
|
|
|
|
private int _radiowidth = 80;
|
|
private List<BlockButton> _radio = new List<BlockButton>();
|
|
|
|
private List<string> _value = new List<string>();
|
|
private List<string> _alias = new List<string>();
|
|
private List<Color> _color = new List<Color>();
|
|
private string _text = "";
|
|
|
|
#region this
|
|
|
|
/// <summary></summary>
|
|
private void VarInit()
|
|
{
|
|
_label.Text = "Caption";
|
|
_input.Text = Name;
|
|
}
|
|
|
|
/// <summary></summary>
|
|
public BlockText()
|
|
{
|
|
this.Size = new Size(300, 40);
|
|
|
|
VarInit();
|
|
|
|
ControlInit();
|
|
ControlAdjust();
|
|
EventInit();
|
|
GoColor();
|
|
|
|
GoInput();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
public new void Dispose()
|
|
{
|
|
if (_left != null) _left.Dispose();
|
|
if (_right != null) _right.Dispose();
|
|
if (_label != null) _label.Dispose();
|
|
if (_input != null) _input.Dispose();
|
|
base.Dispose();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region surface
|
|
|
|
/// <summary></summary>
|
|
private void ControlInit()
|
|
{
|
|
this.Controls.Add(_left);
|
|
this.Controls.Add(_right);
|
|
_left.Controls.Add(_label);
|
|
_right.Controls.Add(_input);
|
|
_right.Controls.Add(_combo);
|
|
|
|
this.Padding = new Padding(1);
|
|
|
|
_left.Dock = DockStyle.Left;
|
|
_left.Padding = new Padding(8, 0, 8, 0);
|
|
_left.Width = 100;
|
|
|
|
_label.Dock = DockStyle.Fill;
|
|
_label.TextAlign = ContentAlignment.MiddleCenter;
|
|
|
|
_right.Dock = DockStyle.Right;
|
|
|
|
_input.BorderStyle = BorderStyle.None;
|
|
_input.Font = FormsUtility.DefaultFont;
|
|
|
|
_combo.TabStop = false;
|
|
_combo.FlatStyle = FlatStyle.Flat;
|
|
_combo.Dock = DockStyle.Right;
|
|
_combo.ItemHeight = Height - 8;
|
|
_combo.MaxDropDownItems = 10;
|
|
_combo.DrawMode = DrawMode.OwnerDrawVariable;
|
|
_combo.DropDownStyle = ComboBoxStyle.DropDownList;
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void ControlAdjust()
|
|
{
|
|
if ((this.Width > 0) && (this.Height > 0))
|
|
{
|
|
var vfontoffset = FormsUtility.MsyhExist ? 0 : 2;
|
|
//var vshowcombo = (_combo.Items.Count > 0);
|
|
|
|
_right.Width = Width - Padding.Left - Padding.Right - _left.Width - (_delemiter ? 1 : 0);
|
|
|
|
switch (_mode)
|
|
{
|
|
case modeinput:
|
|
_input.Height = 14;
|
|
_input.Width = _right.Width - 18;
|
|
_input.Left = 12;
|
|
_input.Top = (_right.Height - 14) / 2 - 1 + vfontoffset;
|
|
break;
|
|
case moderadio:
|
|
for (int i = 0; i < _radio.Count; i++)
|
|
{
|
|
_radio[i].Left = RadioWidth * i;
|
|
_radio[i].Top = 3;
|
|
_radio[i].Width = RadioWidth;
|
|
_radio[i].Height = this.Height - 8;
|
|
}
|
|
break;
|
|
case modecombo:
|
|
_combo.Width = _right.Width;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void GoColor()
|
|
{
|
|
if (_statefocus)
|
|
{
|
|
this.BackColor = _focusborder;
|
|
_left.BackColor = _focusleft;
|
|
_left.ForeColor = _focuscaption;
|
|
_right.BackColor = _focusright;
|
|
_label.ForeColor = _focuscaption;
|
|
_input.ForeColor = Locked ? _label.ForeColor : _focustext;
|
|
// _middle.BackColor = _left.BackColor; // this.BackColor;
|
|
}
|
|
else
|
|
{
|
|
if (_statehover)
|
|
{
|
|
this.BackColor = _hoverborder;
|
|
_left.BackColor = _hoverleft;
|
|
_left.ForeColor = _hovercaption;
|
|
_right.BackColor = _hoverright;
|
|
_label.ForeColor = _hovercaption;
|
|
_input.ForeColor = Locked ? _label.ForeColor : _hovertext;
|
|
// _middle.BackColor = _left.BackColor;
|
|
}
|
|
else
|
|
{
|
|
this.BackColor = _normalborder;
|
|
_left.BackColor = _normalleft;
|
|
_left.ForeColor = _normalcaption;
|
|
_right.BackColor = _normalright;
|
|
_label.ForeColor = _normalcaption;
|
|
_input.ForeColor = Locked ? _label.ForeColor : _normaltext;
|
|
// _middle.BackColor = _left.BackColor;
|
|
}
|
|
}
|
|
_input.BackColor = _right.BackColor;
|
|
}
|
|
|
|
/// <summary>设置样式为候选项。</summary>
|
|
private void GoCandidate(BlockButton button)
|
|
{
|
|
button.NormalBorder = FormsUtility.White;
|
|
button.NormalText = FormsUtility.GraceSilver;
|
|
button.HoverBorder = FormsUtility.GraceWall;
|
|
button.HoverText = FormsUtility.Gray;
|
|
}
|
|
|
|
/// <summary>设置样式为当前项。</summary>
|
|
private void GoCurrent(BlockButton button)
|
|
{
|
|
button.NormalBorder = FormsUtility.GraceSilver;
|
|
button.NormalText = Color.Black;
|
|
button.HoverBorder = FormsUtility.GraceSilver;
|
|
button.HoverText = Color.Black;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region accessor
|
|
|
|
/// <summary></summary>
|
|
public event EventHandler Changed;
|
|
|
|
/// <summary></summary>
|
|
public bool Busy { get { return _busy; } private set { _busy = false; } }
|
|
|
|
/// <summary></summary>
|
|
public int RadioWidth
|
|
{
|
|
get { return _radiowidth; }
|
|
set { _radiowidth = (value >= 0) ? value : 0; }
|
|
}
|
|
|
|
/// <summary>添加选项。</summary>
|
|
/// <param name="value">选项值。</param>
|
|
public void Add(string value)
|
|
{
|
|
Add(value, value, Color.Black);
|
|
}
|
|
|
|
/// <summary>添加选项。</summary>
|
|
/// <param name="value">选项值。</param>
|
|
/// <param name="color">文字颜色。</param>
|
|
private void Add(string value, Color color)
|
|
{
|
|
Add(value, value, color);
|
|
}
|
|
|
|
/// <summary>添加选项。</summary>
|
|
/// <param name="value">选项值。</param>
|
|
/// <param name="alias">显示名称。</param>
|
|
public void Add(string value, string alias)
|
|
{
|
|
Add(value, alias, Color.Black);
|
|
}
|
|
|
|
/// <summary>添加选项。</summary>
|
|
/// <param name="value">选项值。</param>
|
|
/// <param name="alias">显示名称。</param>
|
|
/// <param name="color">文字颜色。</param>
|
|
private void Add(string value, string alias, Color color)
|
|
{
|
|
if (value != null)
|
|
{
|
|
var v = string.IsNullOrEmpty(value) ? "" : value;
|
|
var a = string.IsNullOrEmpty(alias) ? v : alias;
|
|
var c = (color == null) ? Color.Black : color;
|
|
_value.Add(v);
|
|
_alias.Add(a);
|
|
_color.Add(c);
|
|
|
|
// combo
|
|
_combo.Items.Add(a);
|
|
|
|
// radio
|
|
_radio.Add(new BlockButton());
|
|
var index = _alias.Count - 1;
|
|
_radio[index].Caption = _alias[index];
|
|
_radio[index].Tag = value;
|
|
_radio[index].BodyMargin = new Padding(1);
|
|
_radio[index].MouseDown += Event_Radio_MouseDown;
|
|
_radio[index].MouseMove += Event_Caption_MouseMove;
|
|
_radio[index].MouseLeave += Event_Caption_MouseLeave;
|
|
if (_mode != moderadio) _radio[index].Visible = false;
|
|
_right.Controls.Add(_radio[index]);
|
|
GoCandidate(_radio[index]);
|
|
|
|
ControlAdjust();
|
|
}
|
|
}
|
|
|
|
/// <summary>清除所有选项。</summary>
|
|
public void Clean()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
/// <summary>清除所有选项。</summary>
|
|
public void Clear()
|
|
{
|
|
_value.Clear();
|
|
_alias.Clear();
|
|
_color.Clear();
|
|
_combo.Items.Clear();
|
|
ControlAdjust();
|
|
}
|
|
|
|
/// <summary>切换到单选模式。</summary>
|
|
public void GoRadio()
|
|
{
|
|
if (_mode == modeinput) _text = _input.Text;
|
|
_mode = moderadio;
|
|
|
|
_input.Visible = false;
|
|
_combo.Visible = false;
|
|
foreach (var vi in _radio) vi.Visible = true;
|
|
|
|
ControlAdjust();
|
|
}
|
|
|
|
/// <summary>切换到输入模式。</summary>
|
|
public void GoInput()
|
|
{
|
|
_input.Visible = true;
|
|
_combo.Visible = false;
|
|
foreach (var vi in _radio) vi.Visible = false;
|
|
|
|
if (_mode != modeinput) _input.Text = _text;
|
|
_mode = modeinput;
|
|
|
|
ControlAdjust();
|
|
}
|
|
|
|
/// <summary>切换到下拉选择模式。</summary>
|
|
public void GoCombo()
|
|
{
|
|
if (_mode == modeinput) _text = _input.Text;
|
|
_mode = modecombo;
|
|
|
|
_input.Visible = false;
|
|
_combo.Visible = true;
|
|
foreach (var vi in _radio) vi.Visible = false;
|
|
|
|
ControlAdjust();
|
|
}
|
|
|
|
/// <summary>可选项中包含指定值。</summary>
|
|
public bool Contain(string value)
|
|
{
|
|
foreach (var vi in _value)
|
|
{
|
|
if (vi == value) return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <summary>获取或设置下拉菜单的显示数量,最少显示 1 项。</summary>
|
|
public int DropDownItems
|
|
{
|
|
get { return _combo.MaxDropDownItems; }
|
|
set { _combo.MaxDropDownItems = (value > 0) ? value : 1; }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region event
|
|
|
|
/// <summary></summary>
|
|
private void EventInit()
|
|
{
|
|
this.Resize += Event_Main_Resize;
|
|
this.MouseMove += Event_Caption_MouseMove;
|
|
this.MouseLeave += Event_Caption_MouseLeave;
|
|
this.MouseDown += Event_Caption_MouseDown;
|
|
|
|
_left.MouseMove += Event_Caption_MouseMove;
|
|
_left.MouseLeave += Event_Caption_MouseLeave;
|
|
_left.MouseDown += Event_Caption_MouseDown;
|
|
|
|
_right.MouseMove += Event_Caption_MouseMove;
|
|
_right.MouseLeave += Event_Caption_MouseLeave;
|
|
_right.MouseDown += Event_Caption_MouseDown;
|
|
|
|
_label.MouseMove += Event_Caption_MouseMove;
|
|
_label.MouseLeave += Event_Caption_MouseLeave;
|
|
_label.MouseDown += Event_Caption_MouseDown;
|
|
|
|
_input.MouseMove += Event_Caption_MouseMove;
|
|
_input.MouseLeave += Event_Caption_MouseLeave;
|
|
_input.GotFocus += Event_GotFocus;
|
|
_input.LostFocus += Event_LostFocus;
|
|
_input.TextChanged += Event_Input_TextChanged;
|
|
_input.KeyDown += (s, e) => OnKeyDown(e);
|
|
_input.KeyUp += (s, e) => OnKeyUp(e);
|
|
_input.KeyPress += (s, e) => OnKeyPress(e);
|
|
|
|
_combo.DrawItem += Event_Combo_DrawItem;
|
|
_combo.SelectedIndexChanged += Event_Combo_SelectedIndexChanged;
|
|
_combo.MouseMove += Event_Caption_MouseMove;
|
|
_combo.MouseLeave += Event_Caption_MouseLeave;
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Input_TextChanged(object sender, EventArgs e)
|
|
{
|
|
// 抛出事件
|
|
if ((Changed != null) && (!Locked)) Changed(this, new EventArgs());
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Radio_MouseDown(object sender, MouseEventArgs e)
|
|
{
|
|
if (Locked) return;
|
|
Text = ((BlockButton)sender).Tag.ToString();
|
|
//updatemode();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Combo_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (Locked) return;
|
|
if (_combo.SelectedIndex < 0) return;
|
|
if (_combo.SelectedIndex >= _combo.Items.Count) return;
|
|
|
|
var vold = string.IsNullOrEmpty(_text) ? "" : _text;
|
|
var vnew = string.IsNullOrEmpty(_value[_combo.SelectedIndex]) ? "" : _value[_combo.SelectedIndex];
|
|
var vchanged = (vold != vnew);
|
|
_text = vnew;
|
|
if (vchanged && (Changed != null)) Changed(this, new EventArgs());
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Combo_DrawItem(object sender, DrawItemEventArgs e)
|
|
{
|
|
if (e.Index < 0) return;
|
|
e.DrawBackground();
|
|
e.DrawFocusRectangle();
|
|
var vs = _combo.Items[e.Index].ToString();
|
|
var vx = e.Bounds.X + 7;
|
|
var vy = e.Bounds.Y + (_combo.ItemHeight - 16) / 2;
|
|
var vb = new SolidBrush(e.ForeColor);
|
|
if (_color != null)
|
|
{
|
|
if (e.Index < _color.Count)
|
|
{
|
|
vb.Dispose();
|
|
vb = new SolidBrush(_color[e.Index]);
|
|
}
|
|
}
|
|
e.Graphics.DrawString(vs, FormsUtility.DefaultFont, vb, vx, vy);
|
|
vb.Dispose();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_LostFocus(object sender, EventArgs e)
|
|
{
|
|
_statefocus = false; GoColor();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_GotFocus(object sender, EventArgs e)
|
|
{
|
|
_statefocus = true; GoColor();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Caption_MouseDown(object sender, MouseEventArgs e)
|
|
{
|
|
_input.Focus();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Main_Resize(object sender, EventArgs e)
|
|
{
|
|
ControlAdjust();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Caption_MouseLeave(object sender, EventArgs e)
|
|
{
|
|
_statehover = false; GoColor();
|
|
}
|
|
|
|
/// <summary></summary>
|
|
private void Event_Caption_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
_statehover = true; GoColor();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region property
|
|
|
|
/// <summary>标签文本。</summary>
|
|
public string Caption
|
|
{
|
|
get { return _label.Text; }
|
|
set { _label.Text = string.IsNullOrEmpty(value) ? "" : value; }
|
|
}
|
|
|
|
/// <summary>内容文本。</summary>
|
|
public new string Text
|
|
{
|
|
get
|
|
{
|
|
switch (_mode)
|
|
{
|
|
case modeinput: return _input.Text;
|
|
default: return _text;
|
|
}
|
|
}
|
|
set
|
|
{
|
|
switch (_mode)
|
|
{
|
|
case modeinput:
|
|
_input.Text = string.IsNullOrEmpty(value) ? "" : value;
|
|
break;
|
|
default:
|
|
var vchanged = (_text != value);
|
|
_text = string.IsNullOrEmpty(value) ? "" : value;
|
|
if (vchanged && (Changed != null)) Changed(this, new EventArgs());
|
|
break;
|
|
}
|
|
|
|
// 更新下拉菜单。
|
|
if (_mode == modecombo)
|
|
{
|
|
//var vexist = false;
|
|
for (int i = 0; i < _value.Count; i++)
|
|
{
|
|
if (_value[i] == Text)
|
|
{
|
|
//vexist = true;
|
|
_combo.SelectedIndex = i;
|
|
}
|
|
}
|
|
//if (!vexist)
|
|
//{
|
|
// add(_input.Text, _input.Text);
|
|
// _combo.SelectedIndex = _combo.Items.Count - 1;
|
|
//}
|
|
}
|
|
|
|
// 更新单选按钮。
|
|
if (_mode == moderadio)
|
|
{
|
|
for (int i = 0; i < _radio.Count; i++)
|
|
{
|
|
if (_value[i] == Text) GoCurrent(_radio[i]);
|
|
else GoCandidate(_radio[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>内容文本最大长度。</summary>
|
|
public int Capacity
|
|
{
|
|
get { return _input.MaxLength; }
|
|
set { _input.MaxLength = (value < 0) ? 0 : value; }
|
|
}
|
|
|
|
/// <summary></summary>
|
|
public float FontSize
|
|
{
|
|
get { return _input.Font.Size; }
|
|
set { _input.Font = new Font(FormsUtility.DefaultFontName, value); }
|
|
}
|
|
|
|
/// <summary>以默认的密码字符显示。</summary>
|
|
public bool Password
|
|
{
|
|
get { return _input.UseSystemPasswordChar; }
|
|
set { _input.UseSystemPasswordChar = value; }
|
|
}
|
|
|
|
/// <summary>独立控件,不接受 Tab 键事件。</summary>
|
|
public bool Lonely
|
|
{
|
|
get { return !_input.TabStop; } // return _lonely; }
|
|
set { _input.TabStop = !value; } // _lonely = value; _input.AcceptsTab = !value; }
|
|
}
|
|
|
|
/// <summary>锁定内容,禁止编辑。</summary>
|
|
public override bool Locked
|
|
{
|
|
get { return _input.ReadOnly; }
|
|
set
|
|
{
|
|
switch (_mode)
|
|
{
|
|
case modeinput:
|
|
_input.ReadOnly = value;
|
|
break;
|
|
case moderadio:
|
|
foreach (var vi in _radio) vi.Locked = value;
|
|
break;
|
|
case modecombo:
|
|
_combo.Visible = !value;
|
|
break;
|
|
}
|
|
GoColor();
|
|
}
|
|
}
|
|
|
|
/// <summary>内容为空。</summary>
|
|
public bool IsEmpty
|
|
{
|
|
get { return string.IsNullOrEmpty(_input.Text); }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region color
|
|
|
|
private Color _normalborder = FormsUtility.GraceBorder;
|
|
private Color _normalleft = FormsUtility.White;
|
|
private Color _normalright = FormsUtility.White;
|
|
private Color _normalcaption = FormsUtility.GraceLocked;
|
|
private Color _normaltext = FormsUtility.Black;
|
|
private Color _hoverborder = FormsUtility.GraceSilver;
|
|
private Color _hoverleft = FormsUtility.White;
|
|
private Color _hoverright = FormsUtility.White;
|
|
private Color _hovercaption = FormsUtility.GraceLocked;
|
|
private Color _hovertext = FormsUtility.Black;
|
|
private Color _focusborder = FormsUtility.GraceSilver; //FormsUtility.silver;
|
|
private Color _focusleft = FormsUtility.White; //FormsUtility.wall;
|
|
private Color _focusright = FormsUtility.White;
|
|
private Color _focuscaption = FormsUtility.GraceMinor;// FormsUtility.gray;
|
|
private Color _focustext = FormsUtility.Black;
|
|
|
|
/// <summary></summary>
|
|
public Color NormalBorder { get { return _normalborder; } set { if (value != null) _normalborder = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color NormalLeft { get { return _normalleft; } set { if (value != null) _normalleft = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color NormalRight { get { return _normalright; } set { if (value != null) _normalright = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color NormalCaption { get { return _normalcaption; } set { if (value != null) _normalcaption = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color NormalText { get { return _normaltext; } set { if (value != null) _normaltext = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color HoverBorder { get { return _hoverborder; } set { if (value != null) _hoverborder = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color HoverLeft { get { return _hoverleft; } set { if (value != null) _hoverleft = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color HoverRight { get { return _hoverright; } set { if (value != null) _hoverright = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color HoverCaption { get { return _hovercaption; } set { if (value != null) _hovercaption = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color HoverText { get { return _hovertext; } set { if (value != null) _hovertext = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color FocusBorder { get { return _focusborder; } set { if (value != null) _focusborder = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color FocusLeft { get { return _focusleft; } set { if (value != null) _focusleft = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color FocusRight { get { return _focusright; } set { if (value != null) _focusright = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color FocusCaption { get { return _focuscaption; } set { if (value != null) _focuscaption = value; GoColor(); } }
|
|
|
|
/// <summary></summary>
|
|
public Color FocusText { get { return _focustext; } set { if (value != null) _focustext = value; GoColor(); } }
|
|
|
|
#endregion
|
|
|
|
//protected override void OnEnabledChanged(EventArgs e)
|
|
//{
|
|
// if (Enabled == false)
|
|
// {
|
|
// SetStyle(ControlStyles.UserPaint, true);
|
|
// }
|
|
// else
|
|
// {
|
|
// SetStyle(ControlStyles.UserPaint, false);
|
|
// }
|
|
// base.OnEnabledChanged(e);
|
|
//}
|
|
|
|
//protected override void OnPaint(PaintEventArgs pe)
|
|
//{
|
|
// base.OnPaint(pe);
|
|
// if (Enabled == false)
|
|
// {
|
|
// pe.Graphics.FillRectangle(new SolidBrush(SystemColors.ControlLight),
|
|
// pe.ClipRectangle);
|
|
// int x = 0, y = 0;
|
|
// Size s = pe.Graphics.MeasureString(Text, Font).ToSize();
|
|
// x = Width - s.Width;
|
|
// y = (Height - s.Height) / 2;
|
|
// pe.Graphics.DrawString(this.Text, this.Font, Brushes.Black, x, y);
|
|
// }
|
|
|
|
//}
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|