我有一个带有一些 DataGridViewComboBoxColumn 的 DataGridView 。这些列设置了其数据源,以便它们显示某些可供选择的值,但是 DataGridView 本身没有将其数据源设置为任何内容。我手动加载/保存其中的值。
问题:当我更改其中一个组合框值时,直到移动到另一行才看到更改。
更多背景信息:该应用程序的主要目的是将数据从一个表移动到另一个表。在一列中,您选择一个表的源字段,在下一列中,您选择另一个表中的目标字段。该应用程序的一个功能是,当您单击行标题单元格时,它将显示与您在该行中选择的源字段不同的值的列表。但是,在更新源字段时,在我先离开该行之前,我无法通过单击行标题单元格来获得正确的结果。
问题:让我的更改立即生效而不必先离开该行的最简单方法是什么?我曾经为复选框列实现了一些方法来完成此操作,但我提出的解决方案不适用于组合框列。我想要一种对一切都适用的东西。
谢谢!
编辑:如果你碰巧读到这篇文章并自言自语“这是一个糟糕的问题”,你介意让我知道为什么吗?我真的不介意你是否投反对票......我只是想了解这个问题是否与这是一个“糟糕的问题”有关,或者你认为我要求做你认为的事情这样做并不聪明,而且是一种不好的做法。
我们有一个内部按钮控制,坦白说它很糟糕.我想替换它,但我不想在我们的项目中使用每个表单并删除/添加新控件.在我看来,如果我设计一个新的按钮,它具有与旧的相同的属性,那么我应该能够给它与旧的相同的名称,只需将vbp文件中的所有参考行替换为点到新的控制.
有没有人试过这个(更好的是你听说过一个可以为你做的工具)如果是这样的话,我应该注意什么?
谢谢!
假设我有一个知道如何制作Square的Factory类.如果我觉得只有Factory类知道如何制作一个正方形并且我想阻止其他人(即使在同一个程序集中)创建一个正确的(如果有这样的东西)那么方法呢?
当我想跨线程更新控件时,我通常最终会这样做:
this.Invoke((MethodInvoker)delegate { SomeProcedure(); });
Run Code Online (Sandbox Code Playgroud)
建议的方法实际上是调用调用者来获取你想要更新的特定控件,但99%的时候表单(即我的例子中的'this')和控件都将在同一个控件上创建线程所以我真的很喜欢这样做,为了简单起见.
我在想,如果我只是将PostSharp方面置于SomeProcedure之上,将它包含在我的那个混乱的声明中,那将是很好的.
然后去......(哦是啊,第一个可用的答案100奖金:)
如果我想从位于不同驱动器上的多个表中并入数据,那么SQL会并行提取数据吗?我应该知道相关的设置或提示吗?
我试图创建一个远程的对象,并得到即使它似乎一切都为了错误,所以我决定简化和运行直接从微软的代码样片(http://msdn.microsoft.com/en-us /library/system.marshalbyrefobject.aspx).
当我运行这段代码时,我调用CreateInstanceAndUnwrap()时会得到一个TypeLoadException.但是,我只是在我的笔记本电脑上尝试过,它工作正常.任何人都有任何线索为什么它可以在笔记本电脑上工作,但不是桌面?我刚刚在每个上创建了一个控制台应用程序并复制/粘贴下面的代码,所以我不明白两者之间会有什么不同.
using System;
using System.Reflection;
public class Worker : MarshalByRefObject
{
public void PrintDomain()
{
Console.WriteLine("Object is executing in AppDomain \"{0}\"",
AppDomain.CurrentDomain.FriendlyName);
}
}
class Example
{
public static void Main()
{
// Create an ordinary instance in the current AppDomain
Worker localWorker = new Worker();
localWorker.PrintDomain();
// Create a new application domain, create an instance
// of Worker in the application domain, and execute code
// there.
AppDomain ad = AppDomain.CreateDomain("New domain");
Worker remoteWorker = (Worker) ad.CreateInstanceAndUnwrap( …
Run Code Online (Sandbox Code Playgroud) 我有一个带有一些按钮的StackPanel.我希望StackPanel是半透明的,但按钮保持不透明.我一直在谷歌搜索一段时间,但仍然无法弄清楚这一点.我可以找到在半透明窗口上使用不透明控件的解决方案,但不能在半透明控件上找到不透明控件.
我正在关注此示例代码:http://support.microsoft.com/kb/871044,但是在c#中执行此操作.
我不知道如何在c#中表达以下内容:
Public Const FILE_ATTRIBUTE_NORMAL As Short = &H80S
Public Const FILE_FLAG_NO_BUFFERING As Integer = &H20000000
Public Const FILE_FLAG_WRITE_THROUGH As Integer = &H80000000
Public Const PIPE_ACCESS_DUPLEX As Short = &H3S
Public Const PIPE_READMODE_MESSAGE As Short = &H2S
Public Const PIPE_TYPE_MESSAGE As Short = &H4S
Public Const PIPE_WAIT As Short = &H0S
Run Code Online (Sandbox Code Playgroud)
具体来说,我知道在十六进制值前加上'0x',但是在这些值的某些结尾处,S是什么?同样在第三行,当我将其转换为0x80000000时,我得到一个错误,说它无法隐式地从uint转换为int.不确定我是应该强制转换,还是更改变量的类型?
这个问题基本上是这个问题的延伸:
如何判断是否正在访问数据库表?想要像"SELECT触发器"这样的东西
以笔者在他的讯息解决方案所提供的查询,我认为一个空值就意味着一台尚未从上次重新启动SQL Server访问.
我的问题是:有没有办法告诉上次访问表的时间,如果上次访问是在SQL重新启动的最后一次之前?另外,如何判断SQL上次重启的时间?
c# ×5
.net ×2
controls ×2
datagridview ×1
file-io ×1
oop ×1
postsharp ×1
remoting ×1
statistics ×1
transparency ×1
union ×1
vb.net ×1
vb6 ×1
winforms ×1
wpf ×1