在PropertyGrid中使用自定义颜色选择器对话框

杰克斯

在PropertyGrid默认颜色选择器对话框中,不允许设置颜色的Alpha值。

我已经创建了自己的颜色选择器对话框,并想在PropertyGrid中使用它,但不确定如何操作。

杰克斯

我设法在属性网格中使用我的自定义颜色选择器对话框,并在此处复制它的代码,以防某些人也需要它:

using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace HelpersLib
{
    public class MyColorEditor : UITypeEditor
    {
        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
        {
            return UITypeEditorEditStyle.Modal;
        }

        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (value.GetType() != typeof(RGBA))
            {
                return value;
            }

            IWindowsFormsEditorService svc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

            if (svc != null)
            {
                using (DialogColor form = new DialogColor((RGBA)value))
                {
                    if (svc.ShowDialog(form) == DialogResult.OK)
                    {
                        return form.NewColor.RGBA;
                    }
                }
            }

            return value;
        }

        public override bool GetPaintValueSupported(ITypeDescriptorContext context)
        {
            return true;
        }

        public override void PaintValue(PaintValueEventArgs e)
        {
            using (SolidBrush brush = new SolidBrush((RGBA)e.Value))
            {
                e.Graphics.FillRectangle(brush, e.Bounds);
            }

            e.Graphics.DrawRectangleProper(Pens.Black, e.Bounds);
        }
    }
}

这就是它在属性网格中的外观:

屏幕截图1

当我单击它的按钮时,它将打开自定义颜色对话框

但是仍然有一个我无法解决的问题。我不能将Color结构体与此UITypeEditor一起使用,因此创建了RGBA类。当我使用颜色结构时,它看起来像这样:

屏幕截图2

我猜我将打开另一个问题:自定义ColorEditor在Color结构上无法正常工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chromecast自定义选择器对话框

来自分类Dev

带数字选择器的自定义布局对话框

来自分类Dev

我在自定义对话框中使用AsyncTask,但对话框未显示

来自分类Dev

如何创建颜色选择器对话框?

来自分类Dev

HTML中的颜色选择器对话框

来自分类Dev

HTML中的颜色选择器对话框

来自分类Dev

如何创建颜色选择器对话框?

来自分类Dev

JavaFX对话框标题颜色自定义

来自分类Dev

如何将日期选择器添加到自定义对话框 TinyMCE 上的文本框

来自分类Dev

自定义“选择输入法”对话框

来自分类Dev

如何在对话框中使用数字选择器

来自分类Dev

自定义对话框的侦听器null

来自分类Dev

Android微调器显示自定义对话框

来自分类Dev

时间选择器对话框

来自分类Dev

我想使用数字日期选择器对话框和时间选择器对话框

来自分类Dev

在自定义对话框类中使用Android注释

来自分类Dev

如何在Android中使用网格视图创建自定义警报对话框?

来自分类Dev

在自定义对话框类中使用Android注释

来自分类Dev

在Android中使用自定义对话框时出错

来自分类Dev

如何在自定义对话框按钮中使用意图?

来自分类Dev

如何在Android中使用CardView创建自定义对话框

来自分类Dev

在自定义警报对话框中使用时 ExpandableListView 对象为 null

来自分类Dev

在回收站视图中使用自定义对话框

来自分类Dev

使用Python创建SPSS自定义对话框

来自分类Dev

使用imageview进入gridview的自定义对话框

来自分类Dev

使用jQueryUI对话框的Knockoutjs自定义bindig

来自分类Dev

使用Python创建SPSS自定义对话框

来自分类Dev

使用自定义对话框类时如何修改文本并单击侦听器?

来自分类Dev

WXPYTHON自定义对话框

Related 相关文章

热门标签

归档