颜色对话框中的自定义颜色集应使用以下代码设置为{Blue,Blue}:
colorDialog1.CustomColors = new int[] { System.Drawing.Color.Blue.ToArgb(), 0xFF0000 };
colorDialog1.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
但是,我得到了一个不同的集合{Black,Blue}:

不知道我在这里做错了什么?谢谢.
我试图在运行时加载程序集并订阅它的事件.在我的场景中,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) 我最近使用Flatpak在Ubuntu 16.04 LTS上从旧版本5更新了我的IDE到Monodevelop 6.
我有一个与串口交互的应用程序,它基本上是一个USB/RS232适配器,将设备连接到我的计算机.
在Monodevelop5中调试应用程序时,我没有问题访问USB端口(/ dev/ttyUSB0).但是,我使用Monodevelop6访问的设备目录(/ dev /)与我在Linux中访问的设备目录(/ dev /)完全不同,并且该文件夹中没有ttyUSB0.
我相信这是因为Flatpak在沙盒中运行应用程序.那么,如果是这个原因,我怎么才能访问串口呢?
谢谢.
考虑一个RichTextBox,它有400行,包含多个不同颜色的单词和行.
是否可以删除此文本框的前100行,同时保留剩余单词的颜色.目前,我使用下面的代码删除行,但它不能保持颜色.
if (rtb.Lines.Count() > 400)
rtb.Lines = rtb.Lines.Skip(100).ToArray();
Run Code Online (Sandbox Code Playgroud) c# ×3
.net ×1
colordialog ×1
colors ×1
flatpak ×1
line ×1
monodevelop ×1
reflection ×1
richtextbox ×1
sandbox ×1
serial-port ×1
ubuntu-16.04 ×1