小编Afs*_*hin的帖子

在ColorDialog中设置CustomColors

颜色对话框中的自定义颜色集应使用以下代码设置为{Blue,Blue}:

colorDialog1.CustomColors = new int[] { System.Drawing.Color.Blue.ToArgb(), 0xFF0000 };
colorDialog1.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

但是,我得到了一个不同的集合{Black,Blue}:

在此输入图像描述

不知道我在这里做错了什么?谢谢.

c# colordialog

13
推荐指数
1
解决办法
6097
查看次数

订阅已加载程序集的事件

我试图在运行时加载程序集并订阅它的事件.在我的场景中,dll文件有一个ADD方法,它获取两个整数作为参数,并使用包含总和的自定义事件参数引发事件.

以下是加载Dll文件的代码的一部分:

Assembly asm = Assembly.LoadFile(@"C:\Projects\Dll1.Dll");
Type typ = asm.GetType("DLL1.Class1", true, true);

var method = typ.GetMethod("add");
var obj = Activator.CreateInstance(typ);

EventInfo ev1 = typ.GetEvents()[0]; // just to check if I have the proper event
Type tDelegate = ev1.EventHandlerType; // just to check if I have the proper delegate

method.Invoke(obj, new object[] { 1, 0 });
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何订阅程序集引发的事件.任何帮助,将不胜感激.

补充:示例DLL源

namespace Dll1
{
    public class Class1
    {
        int c = 0;

        public void add(int a, int b)
        {
            c =  a + b; …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

5
推荐指数
1
解决办法
1660
查看次数

使用应用程序访问串行端口在Flatpak中运行

我最近使用Flatpak在Ubuntu 16.04 LTS上从旧版本5更新了我的IDE到Monodevelop 6.

我有一个与串口交互的应用程序,它基本上是一个USB/RS232适配器,将设备连接到我的计算机.

在Monodevelop5中调试应用程序时,我没有问题访问USB端口(/ dev/ttyUSB0).但是,我使用Monodevelop6访问的设备目录(/ dev /)与我在Linux中访问的设备目录(/ dev /)完全不同,并且该文件夹中没有ttyUSB0.

我相信这是因为Flatpak在沙盒中运行应用程序.那么,如果是这个原因,我怎么才能访问串口呢?

谢谢.

serial-port sandbox monodevelop ubuntu-16.04 flatpak

5
推荐指数
1
解决办法
549
查看次数

删除RichTextBox行,同时保持C#中剩余行的颜色

考虑一个RichTextBox,它有400行,包含多个不同颜色的单词和行.

是否可以删除此文本框的前100行,同时保留剩余单词的颜色.目前,我使用下面的代码删除行,但它不能保持颜色.

if (rtb.Lines.Count() > 400)
     rtb.Lines = rtb.Lines.Skip(100).ToArray();
Run Code Online (Sandbox Code Playgroud)

c# colors line richtextbox

3
推荐指数
1
解决办法
3110
查看次数