我需要将鼠标指针更改为等待光标.我试过了
document.body.style.cursor = 'wait';
在我的小提琴中,我的鼠标光标不会改变(在我的主应用程序中也没有改变).我尝试了几种方法,但似乎没有任何工作(IE7和FF7测试).如何更改光标?如果效果更好,我愿意使用CSS而不是JavaScript.
对于它的价值......在最终的程序中,我需要在AJAX调用开始时更改指针,然后将其更改回回调中的默认值.但是,这是一个简化的例子,仍然无效.
void gridControl1_DoubleClick(object sender, EventArgs e) {
GridControl grid = sender as GridControl;
DXMouseEventArgs args = e as DXMouseEventArgs;
BaseHitInfo hitInfo = grid.Views[0].CalcHitInfo(args.Location);
GridHitInfo gridHit = hitInfo as GridHitInfo;
if (GridHitTest.RowCell == gridHit.HitTest) {
int rowHandle = gridHit.RowHandle;
grid.MainView.GetRow(rowHandle);//GetRow returns Object. I need to cast this to a Type to make it useful
}
}
Run Code Online (Sandbox Code Playgroud)
我有GetRow()的文档.我无法提取比我已经通过intellisense提取的更有用的信息.
我怎么知道我可以把它投到什么?
我有一个界面.由于新的要求,界面现在有一个可以实现的方法.
public static string ToEntityConnectionString(this IEnvironmentProvider provider)
//Converts a standard connection string to EntityFramework compatible string
Run Code Online (Sandbox Code Playgroud)
我可以将接口转换为Abstract类,虽然我现在将自己限制为此类作为继承类.虽然,此接口目前仅用于依赖注入.
经过一番思考,我意识到我可以通过Extension方法将功能附加到接口.这似乎很好.在接口上添加实现?做这样的事情被认为是不好的做法吗?如果是这样,为什么?考虑到这种情况,应该使用什么呢?
在C#中的深度,乔恩斯基特使用IEquatable<>以覆盖过载Equals()操作.
public sealed class Pair<T1, T2> : IEquatable<Pair<T1, T2>>
{
public bool Equals(Pair<T1, T2> other)
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)
他说我们这样做是为了"提供一个强类型的API,以避免不必要的执行时间检查".
哪些执行时间检查可以避免?更重要的是,实现接口如何实现强类型API?
我可能在书的背景下遗漏了一些东西.我认为接口通过多态性让我们重用代码.我也理解它们适合编程为抽象而不是具体类型.这就是我所知道的.
特定
static void Main()
{
Form f = new Form();
f.Show();
Action a = () => MessageBox.Show("hi");
Task.Factory.FromAsync(f.BeginInvoke(a), (ar) => a.EndInvoke(ar));
Console.Read();
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用表单中的参数调用方法?我知道我可以使用一个动作.我认为闭包捕获动作中的变量以允许它工作.不过,我觉得方法会更清洁.我在代码库中有很多这些动作,我不喜欢它们隐藏在难以重构的方法内部.
public static void Main()
{
Form form = new Form();
Action action = () => form.SendToBack();//(Now Imagine this Action is 50 lines of code and there's 15 of them...Then it should make sense as to why I want to seperate this logic out into classes and methods.
//Action action2 = AMethod(form);//doesnt work
Task.Factory.StartNew(
() =>
{
//form.Invoke(AMethod);//doesnt work see error below...also no params
form.Show();
form.Invoke(action);
Application.Run();
}
);
Console.Read();
}
public static void AMethod(Form form)
{
form.SendToBack();
}
Run Code Online (Sandbox Code Playgroud)
更新 …
我想将所有者表单设置为无人窗口的表单.我有非托管窗口的句柄.如何将此非托管窗口设置为托管表单的所有者窗口?
IntPtr hWnd = GetUnmanagedWindow();//assume the handle is returned correctly
Form form = new Form();
form.Show(ConvertToManaged(hWnd));//Need an implementation for ConvertOrSomething()
Run Code Online (Sandbox Code Playgroud) 我们的一台开发机器发出一条错误消息,指出DbContext它没有实现IDisposable.根据类似的SO帖子,这是因为我们没有引用EF 5.问题程序集有一个*.edmx使用较旧的EF 4构造(ObjectContext)构建的文件.同一个程序集还有一个新添加的*.edmx文件,其中包含较新的构造(DbContext).
不同机器上的不同项目也使用DbContext并且工作正常.该项目显示以下信息EntityFramework.dll:
version: 4.4.0.0
Runtime Version: v4.0.30319
Run Code Online (Sandbox Code Playgroud)
我检查了坏的构建机器,它也有相同的版本EntityFramework.dll.
微软在开发和营销版本命名约定之间存在令人困惑的冲突.那么EF 5是否意味着dll版本应该说5.0?
换句话说,我是否在良好的构建机器上运行v4.0?如果是这样,为什么构建成功?
鉴于:
public EntityAddress ReadSingle(Func<EntityAddress, bool> predicate)
{
//var result = Context.CV3Address.FirstOrDefault(a => a.GUID == 1100222);
var result = Context.CV3Address.FirstOrDefault(predicate);
return result;
}
Run Code Online (Sandbox Code Playgroud)
FirstOrDefault(a => a.GUID == 1100222); 立即返回结果.
FirstOrDefault(predicate);导致超时异常.请注意谓词= lambda表达式
我怀疑是后一种方法试图拉下所有记录,这些记录不会发生在这么大的一张桌子上.
为什么会这样?
c# ×8
winforms ×3
css ×1
devexpress ×1
ios ×1
javascript ×1
objective-c ×1
oop ×1
pinvoke ×1
xtragrid ×1