我按照正常情况使用IProgressDialog
界面,一切正常,但进度对话框仅在几秒钟后才会确定操作确实很长。虽然没有记录,但它似乎是预期的行为,在许多情况下并不坏。但是,在这个特定的应用程序中,我需要立即显示它。
我在整个网络上找到了single reference来承认这一点,并建议一个解决方法。但是,也许是因为在这九年中有很多新的Windows版本,它今天似乎不起作用:
IProgressDialog dialog;
dialog.StartProgressDialog(owner, null, flags, IntPtr.Zero);
...
IntPtr DialogHWnd;
((IOleWindow)dialog).GetWindow(out DialogHWnd);
SendMessage(DialogHWnd, WM_TIMER, new IntPtr(1), IntPtr.Zero);
窗口句柄没问题,我查了一下,没有错误,只是行为没有变化。该对话框仅在几秒钟后出现。
是否有人建议再次在C#中重新创建相同的对话框和功能?当然,这并非不可能,但除了对用户非常熟悉之外,股票对话框还有很好的功能,如动画和取消行为。
答案 0 :(得分:3)
在 StartProgressDialog 之前或之后立即致电.directive('forceBind', function() {
return {
require: '^form',
priority: -1,
link: function (scope, element, attrs, form) {
element.bind('submit', function() {
angular.forEach(form, function(value, key) {
if(typeof value == 'object'){
if (value.hasOwnProperty('$modelValue')) {
if (!value.$viewValue) {
value.$setViewValue("");
}
}
}
});
});
}
};
});
。这是一个最小的样本:
dialog.Timer(PDTIMER_RESUME, null)
}