我需要能够将两个对象传递给单击按钮时被触发的方法.我该怎么做呢?
到目前为止,我一直在寻找创建一个已更改的eventArgs:
public class CompArgs : System.EventArgs
{
private object metode;
private Type typen;
public CompArgs(object m, Type t)
{
this.metode = m;
this.typen = t;
}
public object Metode()
{
return metode;
}
public Type Typen()
{
return typen;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我该如何使用它呢?是否有可能以某种方式覆盖按钮的单击事件以使用自定义事件处理程序,它将CompArgs作为参数?
private void button1_Click(object sender, EventArgs e)
{
Assembly assembly = Assembly.LoadFile(@"c:\components.dll");
int counter = 0;
foreach (Type type in assembly.GetTypes())
{
if (type.IsClass == true)
{
Button btn = new Button();
btn.Location = new Point(174 + (counter …Run Code Online (Sandbox Code Playgroud) 我正在创建一个自定义下拉框,我想在下拉框外单击鼠标时进行注册,以便隐藏它.是否可以检测到控件外的点击?或者我应该在包含的表单上制作一些机制,并在任何下拉框打开时检查鼠标点击?

如何在组合框中显示枚举值?下面的代码导致组合框的所有显示名称都是"caseHandler.cState".我希望它具有枚举值的实际名称.
我的枚举定义如下:
public enum caseState
{
Active = 1,
Finished,
Problem
}
Run Code Online (Sandbox Code Playgroud)
我有一个定义为这样的类:
public class cState
{
public string _name;
public int _id;
public cState(int id,string name)
{
_name = name;
_id = id;
}
}
Run Code Online (Sandbox Code Playgroud)
填充我的组合框的代码:
ArrayList AL = new ArrayList();
foreach (string cs in Enum.GetNames(typeof(caseState)))
{
cState aEnum = new cState((int)Enum.Parse(typeof(caseState),cs),cs);
AL.Add(aEnum);
}
cbState.DisplayMember = "_name";
cbState.ValueMember = "_id";
cbState.DataSource = AL;
Run Code Online (Sandbox Code Playgroud) 我正在进行运行时程序集加载,但我不知道任何类或方法的名称.我不想用我们声明的方法列出我的程序集中的所有类,而不是从System.Object继承的那些类.
这是代码:
string str = "";
Assembly assembly = Assembly.LoadFile(@"c:\components.dll");
foreach (Type type in assembly.GetTypes())
{
if (type.IsClass == true)
{
str += type.Name + "\n";
MethodInfo[] methodInfo = type.GetMethods(BindingFlags.DeclaredOnly);
foreach (MethodInfo mi in methodInfo)
{
str += "\t" + mi.Name + "\n";
}
}
}
MessageBox.Show(str);
Run Code Online (Sandbox Code Playgroud)
这是components.dll:
public class component01
{
public string myName = "component01";
public string getMyName()
{
return myName;
}
}
public class component02
{
public string myName = "component02";
public string getMyName()
{
return myName; …Run Code Online (Sandbox Code Playgroud) 以下代码将位置更改为www.bing.com,无论重定向是否为1或任何其他数字.如果重定向为1,则记录"正在重定向",然后重定向到www.bing.com.我最好的猜测是,当设置href时,会触发change-event,但在执行之前需要一些滴答.同时,第一行代码仍然执行.要么?做什么会发生什么?
if (redirect == 1) {
console.log("is redirecting");
window.location.href = "http://www.google.com";
}
window.location.href = "http://www.bing.com";
Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码调整自定义控件的大小:
private void Form1_Resize_1(object sender, EventArgs e)
{
textBox1.Text = this.Width.ToString();
textBox2.Text = (this.Height - 200).ToString();
canvas21.Size = new System.Drawing.Size(this.ClientSize.Width, this.ClientSize.Height - this.Top - 15);
canvas21.Invalidate();
}
Run Code Online (Sandbox Code Playgroud)
我只想让自定义控件(0,105)的左上角保持原位,并且控件要随表单一起调整大小,但由于某种原因,这不起作用.当我调整控件的大小时保持原位,但会自动调整大小以填写表单的其余部分.

有没有办法获得影响用户控件大小的所有内容的列表.为了搜索我设置的其他地方,我可能会忽略这些地方?
我已经尝试使用KeyUp和KeyDown事件来读取键盘输入,但是只要我在Winform上放置其他控件,就不会读取键.如何确保读取密钥?
我最近开始使用MathNet来实现我们的线性代数,但是我在将MATLAB函数转换为MathNet时遇到了一些麻烦.
在MATLAB中,我经常使用反斜杠运算符来简单求解:
C = A\B
MathNet中的等价物是什么?
我使用C = Inv(A)*B在小矩阵中得到相同的结果,但我不知道结果是否精确.
我尝试过使用Open Type Fonts作为标签,文本框以及在绘画事件中绘图时.但它不起作用.有没有办法让Open Type Font工作?
我已经创建了一个自定义控件,覆盖了它的paint事件.当我尝试处理我创建的图形时,它们就会从屏幕上消失.我不需要在自定义控件中使用dispose吗?
编辑:我已经包含了一个代码片段.为什么我不能处理从PaintEventArgs创建的dc图形对象?我需要处理它吗?
class canvas : Control
{
PointF mouseDown;
float newX;
float newY;
float zoomFactor = 1F;
Graphics _dc;
public canvas()
{
this.DoubleBuffered = true;
mouseDown = new PointF(0F, 0F);
this.Paint += new PaintEventHandler(ctrl_Paint);
}
private void ctrl_Paint(object sender, PaintEventArgs e)
{
Graphics dc = e.Graphics;
_dc = dc;
dc.SmoothingMode = SmoothingMode.AntiAlias;
Color gridColor = Color.FromArgb(230, 230, 230);
Pen gridPen = new Pen(gridColor, 1);
float offX = (float)((Math.Sqrt(Math.Pow(newX, 2)) % (30 * zoomFactor)));
float offY = (float)((Math.Sqrt(Math.Pow(newY, 2)) % (30 …Run Code Online (Sandbox Code Playgroud) c# ×9
winforms ×5
.net ×1
assemblies ×1
combobox ×1
enums ×1
events ×1
gdi+ ×1
graphics ×1
javascript ×1
keyboard ×1
load ×1
math.net ×1
matlab ×1
mouseevent ×1
opentype ×1
redirect ×1
reflection ×1
resize ×1
solver ×1