浮动弹出控件






3.64/5 (11投票s)
一个可以显示任何窗体的浮动弹出控件。
引言
我已经在 CodeProject 上写了一篇名为“计算器控件框”的文章。这对像我这样的许多开发人员都很有用。有些人没有直接在他们的项目中直接使用计算器控件。他们修改了该控件以在弹出窗体中将其显示为不同的控件。到这个时候,我也需要同样的东西。所以,我修改了该控件,以便在任何窗体中显示为弹出窗口。
描述
要在浮动弹出控件中显示您自己的窗体,您需要实现一个名为 IFloatingPopup
的接口。该接口类似于...
public interface IFloatingPopup
{
event CancelEventHandler PopupHiding;
event CancelEventHandler PopupShowing;
event EventHandler PopupHidden;
event EventHandler PopupShown;
void Show();
void Hide();
void ForceShow();
System.Windows.Forms.UserControl UserControl
{
get;
set;
}
void SetAutoLocation();
Form PopupForm
{
get;
}
}
在实现中,Show
和 Hide
已经在您的窗体中实现。您可以继承 frmFloatingBase
,该接口已在那里实现。因此,您无需考虑其实现。
要使用您自己的窗体,以下步骤将帮助您...
frmFloatingDerived myderivedForm=new frmFloatingDerived();
myderivedForm.UserControl=floatingBox1;
floatingBox1.Popup=myderivedForm;
浮动弹出控件具有计算器控件的所有功能,例如自动定位弹出窗口。它会根据屏幕上的控件位置以最佳位置显示浮动窗口。
计算器框控件
CalculatorBox
是一个用户控件,它提供特定功能以提供数字输入,特别是用于财务信息。此控件可用作文本框控件。它更像一个组合框控件。它有两种模式。一种是正常模式,用户可以在其中为小数输入提供输入。每当用户想要进行一些数学运算时,用户可以单击左侧的箭头,就像在组合框中一样。它将在最佳位置显示一个计算器。用户可以单击计算器按钮,或使用键盘进行计算。在文本模式下,如果用户单击任何运算键(加、减、乘或除),它将自动切换到按下按钮的计算器模式。如果计算器失去焦点,则它将自动切换到文本模式,并且计算器将消失。
如果用户在计算中犯了一些错误并想返回到先前的值,则用户可以按 Esc 按钮。它将重置为先前的值。
此控件有两个属性。Text
属性将提供文本框中可用的任何内容,而 Value
属性将提供十进制值。
文化支持
我使用来自 CultureInfo
类的当前文化信息来决定小数点的字符。小数点用于显示以及接受用户的输入。例如,西班牙语使用逗号作为小数分隔符。因此,如果用户将当前文化设置为西班牙语,则计算器控件将自动使用逗号作为小数分隔符。