将Visual Studio 2010的C#项目降级为视觉工作室2008

我写了一个visual c#2008 windows窗体应用程序,然后我在拥有visual studio 2010的计算机上编辑了代码,但我不能再在visual 2008中运行它,有没有办法可以做到这一点?

如何在C#backgroundworker中发送更多参数改进了事件

我理解如何将一个变量(progresspercentage)传递给“progresschanged”函数,就像这样。 backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged); … worker.ReportProgress(pc); … private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.progressBar1.Value = e.ProgressPercentage; } 但我想将更多变量传递给此函数,有些事情如下: worker.ReportProgress(pc,username,score); … private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.progressBar1.Value = e.ProgressPercentage; this.currentUser.Value = e.UserName; //as string this.score.Value = e.UserScore; //as int } 抱歉,我是c#的新手,有人可以举个例子。

Shift +鼠标滚轮水平滚动

shift +滚轮的使用对于水平滚动来说是相当常见的。 这两个都很容易捕获。 我可以使用带有KeyDown,KeyUp事件设置的标志的MouseWheel事件来跟踪按下shift键的时间。 但是,我如何实际触发水平滚动? 我知道WM_MOUSEHWHEEL,可以用来触发事件吗? 更新:对于System.Windows.Form有一个类型为HScrollProperties的HorizontalScroll属性。 您可以操纵该对象上的Value属性来更改水平滚动条的位置。 但是,到目前为止,我还没有发现该对象可用的任何其他控件。

在本地IIS上跨子域进行表单身份validation

我知道可以使用该设置在多个子域中共享cookie 在Web.config中。 但是如何在本地机器上复制相同的东西。 我在笔记本电脑上使用Windows 7和IIS 7。 所以我有站点localhost.users /为我的实际站点users.mysite.com localhost.host/为host.mysite.com和类似。

你有没有捕获exception,或抛出一个不会被捕获的exception?

我已经处理过我会抛出/重新抛出exception的实例,知道它周围的代码会捕获特定的exception。 但是,有没有时间你想要抛出exception,知道它不会被捕获? 或者至少,没有捕获exception? 除非处理权利,否则例外会立即停止申请? 所以我想我是否想要你故意让你的应用程序死掉?

通过MemberExpression获取属性类型

我在这里问类似的问题,假设这种类型: public class Product { public string Name { get; set; } public string Title { get; set; } public string Category { get; set; } public bool IsAllowed { get; set; } } 这个使用MemberExpression : public class HelperClass { public static void Property(Expression<Func> expression) { var body = expression.Body as MemberExpression; if(body == null) […]

如何在WPF中在1像素厚的canvas上绘制一条线

我正在使用Line类在WPF中的canvas上绘制,即使我设置StrokeThickness = 1 ,该行显示2像素宽 – 这几乎就像最小厚度是2。 如何绘制真正1像素厚的线? Line myLine = new Line(); myLine.Stroke = System.Windows.Media.Brushes.Black; myLine.X1 = 100; myLine.X2 = 140; // 150 too far myLine.Y1 = 200; myLine.Y2 = 200; myLine.StrokeThickness = 1; graphSurface.Children.Add(myLine);

async关键字和TaskScheduler的选择

我想知道编译器在使用async关键字进行编译时选择TaskScheduler的方式背后的原因。 我的测试方法由OnConnectedAsync方法上的SignalR(ASP.NET主机,IIS8,websocket传输)调用。 protected override async Task OnConnectedAsync(IRequest request, string connectionId) { SendUpdates(); } 在Current同步上下文中启动任务将导致System.Web.AspNetSynchronizationContext.OperationStarted()中的InvalidOperationException 此时无法启动异步操作。 异步操作只能在异步处理程序或模块中启动,或者在页面生命周期中的某些事件中启动。 如果在执行页面时发生此exception,请确保将页面标记为 。 精细。 使用此SendUpdates定义,我得到以上exception: private async void SendUpdates() { Task.Run(async () => { while (true) { await Task.Delay(1000); await Connection.Broadcast(“blabla”); } }); } 但更有趣的是,当我没有得到例外。 以下作品: private void SendUpdates() 以下也有效 private async Task SendUpdates() 这最后一个也有效,但它与上面的例子基本相同。 private Task SendUpdates() { return […]

C#任务什么时候开始?

任务什么时候开始? public void DoSomething() { Task myTask = DoSomethingAsync(); Task.WaitAll(new[] { myTask }, 2000); } public async Task DoSomethingAsync() { await SomethingElse(); } 在Task myTask = DoSomethingAsync();初始化时是否立即启动Task myTask = DoSomethingAsync(); 或者当你说在Task.WaitAll(new[] { myTask }, 2000);等待它时它会开始Task.WaitAll(new[] { myTask }, 2000); ?

将exe从一个项目复制到另一个项目的调试输出目录

我有两个项目,ProjOne.exe和ProjTwo.exe。 我想构建ProjOne.exe,它知道它依赖于ProjTwo.exe,因此它会在构建ProjOne.exe时复制ProjTwo.exe。 我也有一个ProjThree.dll,它已经完美地做到了。 但这只是因为Proll引用了dll。 有没有像DLL / OCX那样做的方法? 或者这是一些POST构建脚本? :)如果是这样,请举例说明我将使用的脚本。 谢谢!