Tag: visual studio

INotifyPropertyChanged和ObservableCollection WPF

现在我有一个只显示一个月的日历(我通过的月份)。 我试图让用户从comboBox中选择月份和年份并更新日历。 我使用observablecollection绑定,我很熟悉。 我不知道INotifyPropertyChanged如何工作。 我以前从未使用过它。 非常感谢任何帮助或建议。 这是我到目前为止: public class Schedule : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void Update(int propertyName) { if (propertyName != null) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) handler.Invoke(this, new PropertyChangedEventArgs(propertyName.ToString())); } } // public void UpdateCal(PropertyChangedEventArgs e) // { // if (PropertyChanged != null) // PropertyChanged(this, e); […]

有没有办法将Console.Write的结果连续镜像到集合(数组,列表等)?

我有一个控制台程序,我想不断将Console.Write的结果镜像到一个集合,我可以实时查看它的尾部。 该集合可以是数组,列表等。 我假设我必须使用某种事件处理程序? 我不介意被指向第三方库的方向,例如NLog。 更新 我需要在内存中维护一个集合,它反映当前的控制台状态(然后我可以使用套接字发送到远程WinForms应用程序)。 除了详细信息之外,我想我可以用几行C#来做到这一点 – 我不想添加一个巨大的日志库而不需要它。

如何使用TrackBar浮点数

我正在使用TrackBar控件。 默认情况下,其值为int32 。 我真的想使用十进制值,因此使用可以更精细地选择。 如何让TrackBar控件接受浮动?

Windows XP中的Visual Studio 2013远程调试过程

我有一台运行Windows 7和Visual Studio 2013的开发机器。目标框架是.NET 3.5。 现在我想在Windows XP系统上进行远程调试,但这似乎是不可能的: msvsmon.exe无法启动 从http://msdn.microsoft.com/en-us/library/bt727f1t.aspx安装远程工具不起作用 我从MS中找到的就是使用VS Studio 2010 Express进行调试。 是否有任何黑客在Windows XP中进行远程调试?

我可以将WCF DataContract添加到复杂类型吗?

我有一个复杂的数据类型,包括许多函数,以及通常的get和get方法。 如果我可以使用WCF,我的生活会变得相当容易,所以我的客户也可以使用这种数据类型。 我 忽略所有操作,仅在需要的地方放置[DataMemeber] 。 将有问题的类放在共享库程序集中,以供客户端和服务器访问。 谢谢,罗伯托 PS。 我意识到这个问题的措辞可能不尽如人意。

一个Windows服务中的多个服务进程(System.ServiceProcess.ServiceBase)

我有两个服务进程(派生自System.ServiceProcess.ServiceBase ) MyService1和MyService2 。 我正在尝试在Windows服务的Programm.cs的Main()中运行它们。 static void Main() { ServiceBase[] servicesToRun = { new MyService1(), new MyService2() }; ServiceBase.Run(servicesToRun); } 在MyService1和MyService2的OnStart方法中,我写入日志文件,以便我可以告诉它们正在运行。 系统构建良好,我可以安装该服务。 但只有MyService1运行。 MyService2没有做任何事情(即没有启动日志条目)。 当我更改数组中的顺序时: ServiceBase[] servicesToRun = { new MyService2(), new MyService1() } 只有MyService2运行。 为了试图深究这一点,我正在使用一个小工具AndersonImes.ServiceProcess.ServicesLoader( https://windowsservicehelper.codeplex.com/ )来解决您无法在Visual Studio中直接调试Windows服务的限制。 使用此工具,我可以使两个服务MyService1和MyService2一起启动并运行。 但我仍然不知道为什么Windows只运行ServiceBase[] servicesToRun数组中的第一项。 有任何想法吗?

SetForegroundWindow仅在visual studio打开时工作

我正在尝试用c#设置一个进程窗口到前台/焦点(从那个时候没有焦点的应用程序),因此我使用user32.dll static extern bool SetForegroundWindow(IntPtr hWnd)方法: [DllImport(“user32.dll”)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool SetForegroundWindow(IntPtr hWnd); public void setFocus() { SetForegroundWindow(process.MainWindowHandle); } 一切都工作得很好,但只有当我打开Visual Studio 2008时,我甚至不需要从VS08启动应用程序,它足以让项目打开它。 当我关闭项目时,我的应用程序无法将另一个窗口设置为前景。 唯一的结果是,在任务栏中,另一个窗口突出显示为蓝色。 我将再次使用VS08打开我的项目它的工作正常。 我没有丝毫想法为什么……我的问题可能是他不能导入dll但是它不会高亮,而其他win32函数就像static extern bool ShowWindow(IntPtr hWnd, IntPtr status); 即使项目结束也在工作。 针对这个问题的任何解决方案或提示? 编辑: 我读了这个函数的评论,我知道我的应用程序没有焦点,所以我尝试了这个: [DllImport(“user32.dll”)] static extern bool SetForegroundWindow(IntPtr hWnd); [return: MarshalAs(UnmanagedType.Bool)] [DllImport(“user32.dll”)] static extern bool AllowSetForegroundWindow(int procID); [DllImport(“user32.dll”)] private static extern […]

编译需要bindingRedirect的C#库项目

我正在引用第三方dll,它需要app.config文件中的bindingRedirect,如下所示: … 我试图在C#库项目中引用它。 该库将在WCF项目和MVC项目之间共享。 但是我的图书馆再也找不到参考文献了。 我收到以下警告: 无法解析主要引用“ThirdParty”,因为它对框架程序集“System.Net.Http,Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”具有间接依赖性,无法在当前目标中解析框架。 ” .NETFramework,版本= V4.0″ 。 要解决此问题,请删除引用“ThirdParty”或将应用程序重新定位到包含“System.Net.Http,Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”的框架版本 我已经使用所需的bindingRedirect将app.config文件添加到库中。 但是,此配置将被忽略。 我也尝试将库转换为控制台应用程序。 在这种情况下,它编译完美并且有效。 如何编译需要assemblyBinding来执行bindingRedirect的库项目?

我可以将自定义版本字符串添加到.net DLL吗?

我可以通过手动编辑.rc文件将自定义版本字符串添加到Visual Studio中的C ++ DLL。 例如,如果我添加到.rc文件的VersionInfo部分 VALUE “BuildDate”, “2008/09/19 15:42:52” 然后,该日期在文件资源管理器中,在DLL的属性中,在“版本”选项卡下可见。 我可以为C#DLL做同样的事情吗? 不仅适用于构建日期,还适用于其他版本信息(例如源控制信息) 更新:我认为可能有一种方法可以通过嵌入Windows资源来实现这一点,所以我已经问过如何做到这一点 。

我可以告诉Visual Studio不要更改项目的DPI吗?

我有一个从.NET 1.1转换为3.5的项目正在2008年开发。 如果我在Windows 7上打开项目,它会将所有内容的大小转换为120dpi大小。 如果我然后用96 dpi打开它,它会改回来。 有没有办法让我开发,所以它看起来都很好,如果在具有不同DPI的系统上打开,Visual Studio 不会更改大小? 这个问题可能更好地表达/重复: 视觉工作室设计师dpi设置 或者在这里: Visual Studio和DPI问题 要清楚我正在尝试做的是防止控件在被具有不同DPI设置的多个开发人员使用时在设计器中resize。 在我注意到这个问题的所有情况下,我一直在使用.NET 1或.NET 2项目升级到最初使用Visual Studio 2008,现在是Visual Studio 2010。 更新 (如果有人想与@Ben争夺奖励积分):我有一个正确resize的表单,但窗口的大小会以编程方式更改。 由于设计人员不知道尺寸,因此如果使用不同DPI的开发人员触摸表单,则窗口会不正确地resize。 有没有办法解决这个问题,而不是回到不在运行时缩放UI? 例如:我声明的窗口有两种尺寸,如果开发人员在设计时使用120 dpi,它可以正常工作: private static Size smallSize = new Size(960, 500); private static Size largeSize = new Size(960, 615); 如果有人在96dpi的设计师中编辑表单,我只是想绕过我需要做的事情,不要有一个可怕的设计回归。