小编Bri*_*tle的帖子

Compact Framework/Threading - 在选择选项后,MessageBox显示在其他控件上

我正在开发一个应用程序,它可以从外部服务器上获取并安装一堆更新,并且需要一些线程帮助.用户遵循以下过程:

  • 点击按钮
  • 方法检查更新,返回计数.
  • 如果大于0,则询问用户是否要使用MessageBox.Show()进行安装.
  • 如果是,则它运行循环并在每个更新的run()方法上调用BeginInvoke()以在后台运行它.
  • 我的更新类有一些用于更新进度条等的事件.

进度条更新很好,但MessageBox未从屏幕上完全清除,因为更新循环在用户单击是后立即启动(请参见下面的屏幕截图).

  • 在更新循环开始之前,我该怎么做才能使消息框立即消失?
  • 我应该使用Threads而不是BeginInvoke()吗?
  • 我应该在一个单独的线程上进行初始更新检查并从该线程调用MessageBox.Show()吗?

// Button clicked event handler code...
DialogResult dlgRes = MessageBox.Show(
    string.Format("There are {0} updates available.\n\nInstall these now?", 
    um2.Updates.Count), "Updates Available", 
    MessageBoxButtons.YesNo, 
    MessageBoxIcon.Question, 
    MessageBoxDefaultButton.Button2
);

if (dlgRes == DialogResult.Yes)
{
    ProcessAllUpdates(um2); 
}

// Processes a bunch of items in a loop
private void ProcessAllUpdates(UpdateManager2 um2)
{
    for (int i = 0; i < um2.Updates.Count; i++)
    {
        Update2 update = um2.Updates[i];

        ProcessSingleUpdate(update);

        int percentComplete = Utilities.CalculatePercentCompleted(i, um2.Updates.Count);

        UpdateOverallProgress(percentComplete);
    }
}

// …
Run Code Online (Sandbox Code Playgroud)

c# multithreading compact-framework winforms

4
推荐指数
1
解决办法
4509
查看次数

WinForms - 如何从WebBrowser控件中执行C#应用程序代码?

我有一个包含Web浏览器控件的表单.此浏览器控件将从磁盘加载一些HTML并显示它.我希望能够在我的表单中的HTML访问C#代码中有一个按钮.

例如,HTML中的按钮可能会调用窗体上的Close()方法.

目标平台:C#和Windows Forms(任何版本)

c# webbrowser-control winforms

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

XSLT - 将逗号分隔文本拆分和呈现为HTML的最佳方法

我在XML元素中有一些数据如下所示:

<item value="category1,category2">Item Name</item>
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是value属性.我能够将此属性中包含的数据放入模板中,如下所示:

<xsl:template name="RenderValues">
    <xsl:param name="ValueList" />
    <xsl:value-of select="$ValueList" /> <!-- outputs category1,category2-->
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

我想要做的是以有效的方式处理逗号分隔值.从RenderValues模板中渲染类似下面内容的最佳方法是什么?

<a href="x.asp?item=category1">category1</a>
<a href="x.asp?item=category2">category2</a>
Run Code Online (Sandbox Code Playgroud)

xml xslt

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

Microsoft如何使所有.NET类隐式继承自Object类?我可以做同样的事情吗?

我们创建的所有类都继承自Object类,而无需显式声明该类的继承.

  • Microsoft如何使所有.NET类隐式继承自Object类?
  • 编译器是否在幕后注入了这种继承?
  • 我可以做同样的事情:例如,让我的所有类从类接口隐式继承吗?

我的问题可能含糊不清,所以我会澄清:

我不是要求继承自Object以外的其他类,因为我知道禁止对类进行多重继承.我正在谈论继承而不是通过类接口,我的问题是关于隐含地做的不是用我自己的另一个类替换一个对象,或者用Object和我自己的另一个类做多重继承.我希望所有类都继承自Interface1OfMyOwn和Interface2OfMyOwn.

.net c# inheritance

4
推荐指数
2
解决办法
1273
查看次数

在使用.NET HttpClient类时,是否有一种简单的方法来格式化查询字符串?

我在不同的地方有一些代码,我有一个Dictionary<string,string>包含参数需要在查询字符串上.我有一些自己的代码用于格式化,以便它可以添加到URL的末尾.这个库里面有什么内容可以帮我吗?

c# dotnet-httpclient

3
推荐指数
1
解决办法
1250
查看次数

VBScript/IIS - 如何为特定网站自动设置ASP.NET版本

我需要在IIS 6.0上编写应用程序池和网站的脚本.我已经能够使用adsutil.vbs和iisweb.vbs创建这些,但不知道如何将我刚刚创建的站点的ASP.NET版本设置为2.0.50727.0.

理想情况下,我想adsutil.vbs更新元数据库.我该怎么做呢?

sysadmin asp.net iis vbscript administration

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

Winforms - 如何创建自定义窗口边框并关闭/最小化按钮?

我希望能够创建一个黑色的自定义窗口(带边框和控件),就像表达混合,Twirl或Adobe Lightroom的一部分一样.

是否有创建所有者绘制窗口的最佳实践方法?

平台:C#和WindowsForms(任何版本)

c# windows ownerdrawn winforms

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

Subversion - 当使用SVNParentPath时,如何控制单个存储库的用户访问?

我有subversion存储库,可以正常使用所有用户所需的密码验证.我的配置发布在下面.如何修改此配置以便允许单个用户对我的某个存储库具有只读权限?

提供的示例需要使用SVNParentPath而不是SVNPath.前者允许您指定包含多个subversion存储库的目录.

<VirtualHost *:80>
    ServerAdmin apache@mycompany.org
    DocumentRoot "d:/Apache2/htdocs/"
    ServerName code.mycompany.org
    ErrorLog "logs/src.mycompany.org-error.log"
    CustomLog "logs/src.mycompany.org-access.log" common
    SetOutputFilter DEFLATE

    <Location />
      DAV svn
      SVNParentPath D:\SVN
      AuthType Basic
      AuthName "My Repository"
      AuthUserFile conf/myteam.pwd
      Require valid-user
    </Location>   
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

svn security version-control

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

NSNumber和NSDecimalNumber的自然对数方法

我有一些C#代码,我正在转换为Objective-C.在C#中我会调用Math.Log().我正在慢慢地了解到有些人坚持使用C函数/类型,并且当他们需要与Cocoa互操作时才使用NSNumber等.

ObjC/Cocoa是否有等价物,或者我需要进入C才能做到这一点?我需要我的代码尽可能准确,因为它是计算器的一部分.

如果这有什么不同,这个代码需要在iPhone上运行.

iphone math cocoa objective-c

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

使用MonoTouch向导航栏添加自定义后退按钮

只想确认一下,因为我正在尝试单独学习monoTouch ..

我有一个视图,我导航到使用NavigationController.PushViewToController().在目标视图中,我有一个导航栏.我可以在栏上添加一个按钮并使用代码推送到另一个视图(我碰巧知道Back在哪里),很好.

是否存在"后退按钮"控件?或者一种代码来改变现有的后退按钮说"回去"?

在Interface Builder中,我可以看到navigationItem上有一个名为"Back"的属性.当我向其添加文本时,我可以看到添加到navigationBar的新BarButtonItem.但是,当我导航到模拟器中的视图时,我从未看到此按钮.如果我尝试手动将项目拖动到视图上,则会清除"后退"文本,并将该按钮视为自定义按钮.

我是否总是需要手动编写后退按钮?

iphone uinavigationbar uinavigationcontroller xamarin.ios ios

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