背景工作者 – 报告与字符串数组的进展

我需要在每个循环中从我的backgroundworker返回多个STRING值,所以我尝试使用ReportProgress第二个参数作为字符串数组。 代码示例: private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { string[] workerResult = new string[2]; for (int i=0; i<someNumber; i++) { //do some heavy calculating workerResult[0] = "this string"; workerResult[1] = "some other string"; backgroundWorker1.ReportProgress(i, workerResult) // also tried workerResult[] and [2] } } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { string[] results = (string[])e.UserState; MessageBox.Show(results[0]); […]

UWP模态窗口

我想在我的通用Windows平台应用程序(C#)中在屏幕上显示一个模态窗口,就像添加帐户时标准的Mail-app一样。 或者当您在应用程序中登录服务(如Facebook)时。 带模态窗口的Windows邮件应用程序: 你可以移动这个窗口,但它不在任务栏中,而且是模态的。 有谁知道如何做到这一点? 它不应该那么难,但我找不到任何关于它的东西。

ASP.net以编程方式将数据集绑定到gridview

我有一个大约15列的数据集,我也有一个ASP.net gridview。 我想知道是否有人知道如何使用数据集填充gridview,但问题是我只想要数据集中的一些列。 目前我正在做 GridView1.DataSource = ds; GridView1.DataBind(); 但这显然会将数据集中的所有列绑定到gridview。

C#中的后台智能传输服务

任何人都可以在c#中成功使用它,或者有更好的替代品吗? 还有什么好的工作项目,我可以看一看并获得良好的感觉? 我遇到的大多数项目都是用C ++编写的,并且正在寻找一个C#项目

序列化/反序列化对象 – 字段的顺序很重要?

如果字段不在“正确”(无论是什么意思)顺序中, DataContractSerializer是否可能错误地反序列化对象? 我尝试序列化/反序列化的类没有在字段/属性上放置顺序属性。 然而,我的一个字段总是被反序列化为null即使它具有非空值(它实际上包含字符串列表)。 当我在序列化文件中移动两个XML元素以匹配另一个XML示例中的顺序时(反序列化工作没有问题)一切都开始工作。 这对我没有意义,但也许有人知道的更好。 ;)

如何从C#代码中捕获Microsoft Access VBA调试错误?

我有一个C#程序,它打开几个Microsoft Access文件,并从每个文件中执行function。 本质上,代码看起来像这样: Microsoft.Office.Interop.Access.Application app = new Microsoft.Office.Interop.Access.Application(); app.Visible = true; app.OpenCurrentDatabase(accessFileFullPath, false, “”); //Call the function app.Eval(function); 但是,当VBA代码中发生调试错误时,我想将其捕获到我的C#程序中。 请不要回答:“在您的VBA程序中捕获错误”。 由于我不会涉及的原因,这是不可能的。 我过去使用的一种方法是让一个线程间歇性地监视任何Visual Basic Debug窗口的句柄(FindWindowEx Win32函数返回非零值)。 我不喜欢这种方法,也不想继续使用它。 我找到了这个适用于Microsoft Excel的线程 。 本质上,它使用Microsoft.VisualBasic.CallByName()函数,它显然可以被捕获在try / catch块中,而无需用户交互。 但是,我无法使用Microsoft Access – 主要是因为我无法弄清楚如何使用此命令调用函数/ sub。 任何建议都将真诚地感谢! 编辑:正如我在下面的一个答案中提到的,我尝试将Eval()包装在try / catch块中,我的C#程序似乎忽略它,直到用户点击“Microsoft Visual Basic”上的“结束”按钮“错误对话框。 我不希望任何用户交互,而是想要捕获VBA错误以便在我的C#程序中处理。

如何在WebBrowser控件中注入Javascript

这里有关于Windows窗体的很棒的教程 如何在WebBrowser控件中注入Javascript? 我尝试过它,效果很好 但问题是在wpf应用程序中无法识别所使用的对象。 所以我要问的是wpf应用程序中下面函数的等价物。 谢谢。 HtmlElement head = webBrowser1.Document.GetElementsByTagName(“head”)[0]; HtmlElement scriptEl = webBrowser1.Document.CreateElement(“script”); IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement; string srJquery = File.ReadAllText(“jquery.txt”); element.text = srJquery; head.AppendChild(scriptEl); 上面的函数在Windows窗体应用程序c#4.0中完美地工作,但是在WPF应用程序中无法识别HtmlElement等已使用的对象。

是否可以使用新数据(在C#中)更新PowerPoint幻灯片?

是否有关于如何更新PowerPoint幻灯片的示例(通过清除某个文本框中的文本并使用新内容更新它)? 我有一份月度报告,可以在PowerPoint中生成,我拥有数据库中的所有数据。 我试图通过使用带有三个文本框的空白PowerPoint模板来确定是否可以简单地自动生成幻灯片,并且数据将从我的C#代码中填充。 我想寻找的其他例子是: 弹出列表 表 任何正确方向的帮助将不胜感激。 我在SOF上看到几个相似的问题,但似乎没有人回答这个问题。 我认为最简单的方法是使用OpenXML格式(.pptx),因为我在一台可能没有机器上的PowerPoint的Web服务器上运行。

ObservableCollection比ObjectSet更好

为什么将ListBox绑定到在ObjectSet (来自entity framework)上创建的ObservableCollection而不是直接绑定到ObjectSet更好(在WPF,C#,Entity Framework中)? 还有一个问题:当我将ListBox绑定到ObservableCollection ,集合的任何添加都会更新ListBox 。 大。 但ObservableCollection是在ObjectContext (在Entity Framework中)创建的,并且向集合添加新项目不会将项目添加到上下文…如何解决这个问题????

更改活动表单以显示另一种表单

我有一个Form1和另一个我添加的。 Form1在开始时由program.cs运行。 我需要通过按下按钮隐藏Form1并显示options表单。 private void submitPassword_Click(object sender, EventArgs e) { options optionForm = new options(); optionForm.Show(); } 上面的代码在顶部打开选项表单,但我需要它来替换当前表单。 我该怎么做到这一点?