我希望在旋转按钮控件中可以选择2400,4800,...,57600,115200等波特率。
我无法在devexpress旋转按钮控制中看到这样做的方法,因为(在我的理解中)它只能设置整个范围的值(例如2400,2401,2402,。 ..57599,57600)。 我错了吗?在devexpress中有更好的方法,让用户设置波特率吗?
答案 0 :(得分:0)
您可以使用BaseEdit.CustomDisplayText
事件来显示自定义值。只需创建一个波特率数组,并将最大值设置为数组的上限
这是一个例子:
private int[] _baudRates = new int[] { 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200, 230400 };
public Form1()
{
InitializeComponent();
//...
spinEdit1.Properties.MinValue = 0;
spinEdit1.Properties.MaxValue = _baudRates.Length - 1;
spinEdit1.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
//...
}
private int GetBaudRate(object value)
{
return _baudRates[Convert.ToByte(value)];
}
private void spinEdit1_CustomDisplayText(object sender, CustomDisplayTextEventArgs e)
{
e.DisplayText = GetBaudRate(e.Value).ToString();
}
答案 1 :(得分:0)
您正在寻找的事件称为“旋转”
将Min设置为2400,Max设置为115200
然后将您的逻辑放入旋转事件代码:
private void spinEdit1_Properties_Spin(object sender, DevExpress.XtraEditors.Controls.SpinEventArgs e)
{
if (e.IsSpinUp)
{
spinEdit1.EditValue = 4800;
e.Handled = true;
}
else
{
spinEdit1.EditValue = 2400;
e.Handled = true;
}
}
注意:这个例子最多只能达到4800而且最低可达2400,但你得到了想法。 你可以使用一些nempoBu4代码以及这个代码:)