小编Ars*_*yan的帖子

c #datagridview使用FullRowSelect双击行

我的C#应用​​程序中有一个datagridview,用户应该只能点击完整的行.所以我将SelectionMode设置为FullRowSelect.

但是现在我想要一个在用户双击一行时触发的事件.我想在MessageBox中有行号.

我尝试了以下方法:

 this.roomDataGridView.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.roomDataGridView_CellCont? ?entDoubleClick); 

 private void roomDataGridView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
      MessageBox.Show(e.RowIndex.ToString());
 }
Run Code Online (Sandbox Code Playgroud)

不幸的是没有任何反应.我究竟做错了什么?

c# events datagridview double-click

23
推荐指数
3
解决办法
9万
查看次数

解释输入标签WPF

我想在整个我的WPF应用程序中将Enter键解释为Tab键,也就是说,当我的应用程序中的任何地方用户按Enter时我想要聚焦下一个可聚焦控件,除非按钮被聚焦.在应用程序生命周期中有没有办法做到这一点?谁能举个例子?
非常感谢!

wpf keyboard-input

20
推荐指数
2
解决办法
1万
查看次数

将Action <T>转换为Func <T,Tres>的最佳方法是什么?

我的班上有两个带有这个签名的函数,

public static TResult Execute<TResult>(Func<T, TResult> remoteCall);
public static void Execute(Action<T> remoteCall)
Run Code Online (Sandbox Code Playgroud)

如何将第二种方法中的同一委托传递给第一种方法?使用Delegate参数创建方法不是一种方法,因为我丢失了一些异常信息非常
感谢!

.net c# delegates

19
推荐指数
2
解决办法
6264
查看次数

评估数学表达式的最佳和最短的方法

有许多算法来评估表达式,例如:

  1. 通过递归下降
  2. 调车场算法
  3. 反向波兰表示法

有没有办法用C#.net反射或其他现代.net技术评估任何数学表达式?

.net c# evaluation expression

17
推荐指数
2
解决办法
2万
查看次数

为什么typeof(System.Enum).IsEnum = false?

我们知道System.Enum是所有枚举的基础,但我想知道为什么反思说它本身不是枚举?

Console.WriteLine(typeof(System.Enum).IsEnum) // says it is false
Run Code Online (Sandbox Code Playgroud)

我无法理解逻辑,因此System.Enum不是枚举,但是从它派生的所有东西都是枚举?

当我在msdn中看到它是一个班级时,我第二次震惊

public abstract class Enum : ValueType, 
    IComparable, IFormattable, IConvertible
Run Code Online (Sandbox Code Playgroud)

所以Enum是一个类,但它是值类型(派生自特殊ValueType类,它使枚举成为值类型)并且是所有枚举的基础,但不是枚举本身:)

好吧,如果你不相信Enum上课,请检查 typeof(System.Enum).IsClass

问题是:有什么理由IsEnum是假的,IsClass对于一个值类型并且是所有枚举基础的类型都是正确的吗?

enum AAA { }
typeof(System.Enum).IsClass //True
typeof(System.Enum).IsEnum  //False
typeof(AAA).IsClass         //False
typeof(AAA).IsEnum          //True
typeof(AAA).BaseType        //System.Enum
Run Code Online (Sandbox Code Playgroud)

.net c# enums

14
推荐指数
2
解决办法
3907
查看次数

VB.NET中的显式接口实现

如何在VB.NET中实现显式接口实现?

.net vb.net

13
推荐指数
3
解决办法
3576
查看次数

处理WPF应用程序中的所有异常的最佳做法是什么?


有没有办法处理WPF应用程序中的所有错误异常和崩溃?我知道DispatcherUnhandledException,但它只处理UI线程中的异常,不是吗?有没有办法捕获并记录其他线程中的所有异常?和绑定错误呢?你如何在enterprice系统中实现这种要求?

wpf error-handling

10
推荐指数
3
解决办法
7693
查看次数

通过.NET调用COM对象的手动方式

是否有手动方式在.NET中调用GAC中的COM对象,而不将其添加为引用?

我问的原因是我只知道如何在C#中编码并想要调用.NET COM对象并测试其CMO调用是否可见,但显然您无法将.NET COM对象添加到.NET程序集中!因为你必须引用它,所以我想知道如果它通过c#代码手动在GAC中注册,你可以调用它吗?

c# com com-interop

10
推荐指数
1
解决办法
5475
查看次数

如何将文本置于锚标记内

我希望我的锚标签看起来像一个按钮,并创建了这个样式JsFiddle

.details-button {
    background: linear-gradient(to bottom, #FFFFFF 0, #FAB149 2%, #F89406 100%) repeat scroll 0 0 transparent;
    border: 1px solid #FAB149;
    -ms-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 2px #999999;
    -ms-box-shadow: 0 1px 2px #999999;
    box-shadow: 0 1px 2px #999999;
    color: #FFFFFF;
    cursor: pointer;
    font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: bold;
    -ms-text-shadow: 0 -1px #099FDF;
    text-shadow: 0 -1px #099FDF;
    margin: 4px;
    height: 28px;
    width: 85px;
    vertical-align: central;
    align-items: center;
    text-decoration: none;
    font: menu;
    display: inline-block;
    /*padding: 6px …
Run Code Online (Sandbox Code Playgroud)

html css

10
推荐指数
2
解决办法
2万
查看次数

委托实例和方法指针之间有什么区别?

我认为委托实例可以与函数实例互换.

请使用以下代码:

delegate int AddDelegate(int a, int b);

AddDelegate DelegateInstance;

public void DoStuff()
{
    //I can call this without a delegate "instance":
    MethodThatTakesAdd(Add);

    //I can also call it WITH a delegate "instance"
    DelegateInstance = Add;
    MethodThatTakesAdd(DelegateInstance);
}

public int Add(int a, int b)
{
    return a + b;
}

public void MethodThatTakesAdd(AddDelegate addFunction)
{
    Console.WriteLine(addFunction(1, 2).ToString());
}
Run Code Online (Sandbox Code Playgroud)

两种方式称它为APPEAR是等价的,如果你只使用C#,你将永远不会看到差异(至少我还没有达到这一点).但是,我最近是一个回调到这个托管代码的非托管代码,它们的处理方式不同.例如,在一个场景中,如果我直接将函数用作回调(即使我的对象实例被保留),我也会得到错误"对垃圾收集的委托进行了回调".使用"委托实例"可以解决问题.

那里有人知道有什么区别吗?

c# methods pinvoke delegates unmanaged

9
推荐指数
1
解决办法
3311
查看次数