2015-10-16 103 views
1

使用MMC(Microsoft管理控制台)3.0时,无法在控制台窗口中显示AsyncStatus消息。MMC AsyncStatus(在MmcListView中)不显示状态

我认为它应该是显示在MMC的状态栏中。

当使用至少它正在与它的默认消息StandardVerb(如OnRefreshOnExpand)(如Expand: In progress...

然而,当我尝试使用status.ReportProgress([...])status.Complete([...])这是行不通的。

实施例:

class MyMMCListview : MmcListView { 
    [...] 
    protected override void OnAction(Microsoft.ManagementConsole.Action action, AsyncStatus status) 
    { 
     status.ReportProgress(1, 2, "Loading 1"); 
     System.Threading.Thread.Sleep(3000); 
     status.ReportProgress(2, 2, "Loading 2"); 
     System.Threading.Thread.Sleep(3000); 
     // default behavior 
     base.OnAction(action, status) 

     // Nothing done successfully 
     status.Complete("Done", true); 
    } 
    [...] 
} 

MmcListView:https://msdn.microsoft.com/en-us/library/microsoft.managementconsole.mmclistview_members(v=vs.90).aspx

AsyncStatus:https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.managementconsole.asyncstatus(v=vs.85).aspx

任何建议?

+0

你有没有解决过这个问题?我有同样的问题:( – zaitsman

+0

@zaitsman我实际上并没有解决它通过节点或列表视图显示状态消息 –

+0

你可能有一个例子,特别是与listview?你的意思是你写了一个自定义winforms控件该主机列表视图或..?并与节点 - >我想我仍然希望mmclistview控制,只是切换状态到scopenode以某种方式更新状态栏... – zaitsman

回答

0

我已经测试过好几次了,看起来ReportProgressComplete只有在他们从ScopeNode的覆盖中调用时才在状态栏中显示一条消息。