DevExpress:带按钮的输入框ButtonEdit

本文为我的.NET控件库DevExpress使用笔记,我的DevExpress版本为13.1

1、控件类型全称:DevExpress.XtraEditors.ButtonEdit

2、控件所在程序集:DevExpress.XtraEditors.v13.1.dll

3、工具箱内分类:DX.13.1: Common Controls

4、控件样式截图

5、在属性管理器中Properties下的Buttons里,可以进入EditorButton集合编辑器设置文本框右侧的按钮。文本框右侧的按钮可以有不止一个,在EditorButton集合编辑器中都可以进行设置。在文本框右侧的按钮,都是DevExpress.XtraEditors.Controls.EditorButton类型的。

6、在每个按钮的Kind属性中,可以设置按钮的类型。按钮类型保存在枚举DevExpress.XtraEditors.Controls.ButtonPredefines中,该枚举包括如下枚举值(共计19个):

  • Close,一个x型图案
  • SpinRight,方向指向右侧的三角形箭头
  • SpinLeft,方向指向左侧的三角形箭头
  • SpinDown,方向指向下侧的三角形箭头
  • SpinUp,方向指向上侧的三角形箭头
  • Combo,同SpinDown
  • Right,同SpinRight
  • Left,同SpinLeft
  • Up,同SpinUp
  • Down,同SpinDown
  • Glyph,图案可由Image属性指定
  • Ellipsis,省略号,三个点,默认图案
  • Delete,一个x型图案,线条比Close要细一些
  • OK,一个√型图案
  • Plus,一个+型图案
  • Minus,一个-型图案
  • Redo,撤销图案,一个顺时针转动最后指向右侧的箭头
  • Undo,重做图案,一个逆时针转动最后指向右侧的箭头
  • DropDown,同SpinDown

其中,当Kind被设置为Glyph时,可以通过设置Image属性来指定图案

7、点击按钮的事件,可以在属性管理器中事件里Properties下的ButtonClick事件中指定

这里面就存在一个问题,如果文本框中放置了多个按钮,该如何分辨出我点的是哪个按钮呢?

后来我发现,ButtonClick函数的传入参数如下:

private void buttonEdit1_Properties_ButtonClick(
    object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

这里的参数e为DevExpress.XtraEditors.Controls.ButtonPressedEventArgs类型,该类型中有个字段是Button。

public EditorButton Button { get; }

可以在事件中根据Caption、Kinder等属性判断当前鼠标点击的是哪个Button,再执行相应的逻辑。

如在一个包括两个按钮(类型分别是Ellipse和Delete),其中Ellipse类型的按钮用于浏览文件,Delete类型的按钮用于清空选中数据。

一段判断按钮类型并执行相应逻辑的代码如下:

private void buttonEdit1_Properties_ButtonClick(
    object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
    if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis)
    {
        OpenFileDialog openFileDialog = new OpenFileDialog();

        openFileDialog.AutoUpgradeEnabled = true;
        openFileDialog.CheckFileExists = true;
        openFileDialog.CheckPathExists = true;
        openFileDialog.ReadOnlyChecked = false;
        openFileDialog.Multiselect = false;
        openFileDialog.FileName = "";

        openFileDialog.Filter = "所有文件|*.*";
        openFileDialog.Title = "浏览";

        if (openFileDialog.ShowDialog() == DialogResult.OK)
        {
            this.buttonEdit1.Text = openFileDialog.FileName;
        }
    }
    else if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Delete)
    {
        this.buttonEdit1.Text = "";
    }
}

END

时间: 2024-08-09 02:20:50

DevExpress:带按钮的输入框ButtonEdit的相关文章

自定义EditText 实现带清空按钮的输入框

注:本文转载自csdn,其中实现清除功能所采用的方案比较可取. 原文如下: 项目要求:做出包含根据情况可变色的下划线,左侧有可变图标,右侧有可变删除标志的edittext,如图 记录制作过程: 第一版本: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

js制作带按钮的循环自动切换广告

-----------------------------------------------------------------------------------------------------------------css @charset "gb2312";/* CSS Document */ body{ margin:0; margin-top:3px; padding:0; font-size:12px; line-height:20px; color:#333;}.a

android 自定义带按钮的Notification及点击事件和伸缩通知栏

1.自定义一个带按钮的Notification布局:layout_notification: 2.创建Notification: RemoteViews views = new RemoteViews(getPackageName(),R.layout.layout_nitification); //自定义的布局视图 //按钮点击事件: PendingIntent homeIntent = PengdingIntent.getBroadcast(this,1,new Intent("action

jquery带按钮的图片切换效果

<!doctype html> <html> <head> <meta charset="gb2312"> <title>jquery带按钮的图片切换效果</title> <script type="text/javascript" src="jquery-1.8.0.js"></script> <style type="text/cs

SWIFT推送之本地推送(UILocalNotification)之二带按钮的消息

上一篇讲到的本地推送是普通的消息推送,本篇要讲一下带按钮动作的推送消息,先上个图瞅瞅: 继上一篇的内容进行小小的改动: 在didFinishLaunchingWithOptions方法内进行以下修改 if (UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8 { // APService.registerForRemoteNotificationTypes( // UIUserNotificationType.B

带按钮Listview适配器

本文介绍的工程实现的功能是:按下列表项提示"您点击了第x个列表项,内容为:第x个列表项",按下列表项中的按钮,在日子面板打印"您点击了第x个按钮第x个列表项". 许多自定义适配器都继承BaseAdapter,但对于列表项带有按钮的列表并不是最佳选择,本文介绍的便是关于列表项带有按钮的列表适配器(继承了SimpleAdapter). 界面如下图 先从布局来看,这个界面是用两个xml文件组成,一个较为简单,就是一个ListView <RelativeLayout

jquery 文字滚动大全 scroll 支持文字或图片 单行滚动 多行滚动 带按钮控制滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Android--&gt;轻松打造带删除按钮的输入框(EditText),附Emoji表情过滤

输入框带删除按钮, 此乃标配, 实现起来方法也很多, 网上开源也很多. 但是, 没事就喜欢瞎折腾. 上图说话. 只是在原生的基础上加了扩展. 相对来说入侵非常少, 使用方法和原生的一模一样.无任何阉割. 完整代码: public class ExEditText extends AppCompatEditText { Rect clearRect = new Rect(); public ExEditText(Context context) { super(context); } public

Android中CleanEditText自动带X号输入框的EditText

图标在这里.你懂得 实现的效果如下: 今天做项目遇到的问题.记录下.自动带删除按钮的EditText. public class CleanEditText extends EditText implements OnFocusChangeListener, TextWatcher { /** * 删除按钮的引用 */ private Drawable mClearDrawable; public CleanEditText(Context context) { this(context, nu