彩票走势图

DXperience WinForms12.2帮助文档十:自定义字符格式

原创|其它|编辑:郝浩|2013-02-04 11:07:56.000|阅读 654 次

概述:本文的两个实例演示了如何在DXperience Winforms Subscription文本编辑器中自定义字符格式,如大小写转换和十进制转二进制。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

今天跟大家讲一下如何在DXperience Winforms Subscription文本编辑器中自定义字符格式。一个是字符串格式的大小写转换,一个是将十进制的值以二进制的形式显示。

字符串的大小写格式转换

本示例创建一个自定义格式化,以修改编辑器的文本。编辑器的显示文本遵循指定的格式字符串,这个字符串传递给Format方法作为格式参数。如果这个参数值为"u",显示值会转换为大写,如果格式字符串为"l",显示值将转换为小写。示例代码如下:

// A custom formatter object.
class CustomFormatter : IFormatProvider, ICustomFormatter{
    // The GetFormat method of the IFormatProvider interface.
    // This must return an object that provides formatting services for the specified type.
    public object GetFormat(System.Type type){
        return this;
    }
    // The Format method of the ICustomFormatter interface.
    // This must format the specified value according to the specified format settings.
    public string Format(string format, object arg, IFormatProvider formatProvider){
        string formatValue = arg.ToString();
        if (format == "u")
            return formatValue.ToUpper();
        else if (format == "l")
            return formatValue.ToLower();
        else return formatValue;
    }
}
// ...
// Assign the custom formatter to the editors.
textEdit1.Properties.DisplayFormat.FormatType = FormatType.Custom;
textEdit1.Properties.DisplayFormat.FormatString = "u";
textEdit1.Properties.DisplayFormat.Format = new CustomFormatter();

textEdit2.Properties.DisplayFormat.FormatType = FormatType.Custom;
textEdit2.Properties.DisplayFormat.FormatString = "l";
textEdit2.Properties.DisplayFormat.Format = new CustomFormatter();

转换前和转换后的文本编辑器字符串:

DXperience Winforms,字符串格式,大小写转换,sample text

以二进制显示十进制值

本示例演示如何创建自定义格式化对象,用二进制显示十进制的值。如图:

十进制转二进制,DXperience Winforms

示例代码如下:

// A custom formatter object.
public class BaseFormatter : IFormatProvider, ICustomFormatter {
    // The GetFormat method of the IFormatProvider interface.
    // This must return an object that provides formatting services for the specified type.
    public object GetFormat(Type format) {
        if (format == typeof (ICustomFormatter)) return this;
        else return null;
    }
    // The Format method of the ICustomFormatter interface.
    // This must format the specified value according to the specified format settings.
    public string Format (string format, object arg, IFormatProvider provider) {
        if (format == null) {
            if (arg is IFormattable)
                return ((IFormattable)arg).ToString(format, provider);
            else
                return arg.ToString(); 
        }
        if (format == "B")
            return Convert.ToString(Convert.ToInt32(arg), 2);
        else
            return arg.ToString();
    }
}

// ...
// Assign the custom formatter to the editor.
spinEdit1.Properties.DisplayFormat.FormatType = FormatType.Custom;
spinEdit1.Properties.DisplayFormat.FormatString = "B";
spinEdit1.Properties.DisplayFormat.Format = new BaseFormatter();
spinEdit1.Properties.IsFloatValue = false;
spinEdit1.EditValue = 10;

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP