Articles of .net

简单的CRUD使用WPF和数据绑定

我是WPF的Windows应用程序开发新手,只是想先把它放在那里。 我正在使用Visual Studio 2010和.NET Framework 4.0。 我正在做一个相当简单的pipe理工具。 为了简单起见,可以说我正在使用员工数据。 我创build了一个名为UserDetail的UserControl,它具有所有与Employee类相关的字段。 在UserDetail上绑定input控件的最简单方法是什么? 这可能在创build新实例时有一个空白屏幕,或者在编辑现有实例时有现有的值。 我在构造函数中尝试了以下内容: DataContext = _employee; 我在XAML中绑定了一个这样的控件: <TextBox Name="txtFirstName" Text="{Binding FirstName}"/> 这工作,但它似乎不是正确的方式来做到这一点。 这似乎是一个简单的例子,但我还没有find有用的东西。 任何build议或链接到这种简单的绑定教程?

Windows用户configuration文件path文件夹

任何人都可以描述如何获得以下文件夹在DotNet截图和这些文件夹是什么? 下面在Dotnet命名空间中描述为“Missed”的文本。 我只能通过My.Computer.FileSystem.SpecialDirectories获取以下文件夹 。 物业 …. 目的 AllUsersApplicationData 应用程序应该存储所有用户设置的目录(通常是类似于C:\ ProgramData \ WindowsApplication1 \ WindowsApplication1 \ 1.0.0.0)的目录。 CurrentUserApplicationData 应用程序应该存储当前用户设置的目录(通常为C:\ Users \ PeterBlue \ AppData \ Roaming \ WindowsApplication1 \ WindowsApplication1 \ 1.0.0.0)。 桌面 当前用户的桌面目录(通常为C:\ Users \ PeterBlue \ Desktop)。 我的文件 当前用户的“我的文档”目录(通常为C:\ Users \ PeterBlue \ Documents)。 我的音乐 当前用户的“我的音乐”目录(通常为C:\ Users \ PeterBlue \ Music)。 我的照片 当前用户的“我的图片”目录(通常为C:\ Users […]

Windows操作系统和内存pipe理 – 应用程序最小化时会发生什么?

我为这个问题提出了后代的原因和普遍的兴趣。 几年前,我注意到Windows中的一个奇怪的行为。 我知道这在XP中工作,当时它也在Windows 2000甚至98,我会认为这种行为仍然适用于Windows 7。 要设置我的问题,请按照以下步骤尝试此实验。 打开任务pipe理器并导航到进程选项卡。 打开你使用的应用程序,你知道消耗相当数量的内存(一个Web浏览器应该工作正常),并在任务pipe理器中find该过程。 现在通过打开窗口,文档,网页等来使用应用程序,直到应用程序的内存使用量显着增长。 记下应用程序的内存使用情况,并最小化应用程序 – 应用程序正在使用的内存量将显着减less。 最后,恢复应用程序。 在恢复窗口之后,应该确保应用程序的内存使用量应该稍微高一点,但不要超过最小化应用程序之前的位置。 这与任何基于GUI的应用程序都非常一致,但是对于更大的应用程序来说,它肯定更加深刻 题 在操作系统内部,发生什么过程迫使这个(假设的)垃圾回收发生? 而且,通过COM或者一些.Net调用,有一种方法可以在不最小化应用程序的情况下强制这个过程? 如果是这样,请提供源代码。 语言并不重要。 如果你像我一样,你可能会同时打开很多应用程序。 内存使用可以爬起来……在你知道它之前,你需要closures几个应用程序来释放资源。 如果我至less可以将软件集成到我已经控制一个机制来强制从操作系统中进行垃圾收集,那就好了。 我知道.Net中有一个GC对象,你可以根据需要调用垃圾清理。 但是,它并不与应用程序最小化时发生的内存清理的性质有关。 我希望这是一个令人头疼的问题,在多年的好奇心之后,有人可以给我一个很好的技术解释。 页面文件进一步深入“兔子洞” 有趣的东西已经作为Kragen&Alex K.的这个问题的答案发布了。在阅读他们都发布的知识库文章时,我发现也有一种方法可以防止这种行为发生。 什么时候你想要防止这种分页释放的例子? 我正在尝试阅读文档以尽可能多地了解这一点。 很多这些信息对我来说都是新的,因为我从来不需要在.Net应用程序中实现这些。 考虑一个用例会帮助我理解为什么以及何时我想要避免这种行为的推理。

使用C#获取连接到命名pipe道服务器的客户端的进程ID

我不确定我是否没有看到它,或者是什么? 我需要知道从NamedPipeServerStream实例通过命名pipe道连接到我的服务器的客户端的进程ID。 这样可能吗? 同时我想出了这个function: [DllImport("kernel32.dll", SetLastError = true)] internal static extern bool GetNamedPipeClientProcessId(IntPtr Pipe, out UInt32 ClientProcessId); public static UInt32 getNamedPipeClientProcID(NamedPipeServerStream pipeServer) { //RETURN: // = Client process ID that connected via the named pipe to this server, or // = 0 if error UInt32 nProcID = 0; try { IntPtr hPipe = pipeServer.SafePipeHandle.DangerousGetHandle(); GetNamedPipeClientProcessId(hPipe, […]

检查Windows窗体滚动条是否一直向下滚动?

我有一个丰富的文本框作为日志。 当一条新消息被追加时,日志会自动向下滚动,这很好。 唯一的问题是当用户想要查看日志中的某些内容时, 如果添加新消息,则该框会自动向下滚动并阻止用户看到任何内容。 我想能够检查富文本框是否滚动一直下来,如果它不是向下滚动。 目前我可以在虚拟文本空间中获取滚动位置(使用EM_GETSCROLLPOS的SendMessage)。 我也可以通过GetScrollBarInfo来获取滚动条信息。 但是,我怎么知道虚拟文本空间的底部是什么? 谢谢!

捕获VPN使用情况统计信息

我们使用.NET 2.0中的NetworkInterface.GetIPv4Statistics()来监视networking接口的使用情况统计信息。 这不报告正在隧道VPN通信的连接正确的统计信息。 相反 – 在Cisco VPN客户端的情况下 – 这种使用仅仅归因于一个新的networking接口,就像一个以太网连接。 Windows本身(Vista,至less)将VPN统计信息正确地添加到实际的物理接口,因此查看原始连接的“状态”对话框会显示正确的字节数。 但是,.NET调用的结果不会将stream量合并在一起。 有没有办法将VPN连接关联到它所通过的networking连接? 如果没有,那么是否有人知道状态对话框正在使用哪个API来检索正确的统计信息? 目前,我们不得不手动检测连接,看起来像是VPN,并将其用途添加到任何其他连接处于活动状态,这似乎不是一个可靠的解决scheme。

在Windows应用程序跟踪屏幕录像机

我正在从事一个networking项目,内容安全是客户的首要任务。 我需要创build一个Windows应用程序,该应用程序将追踪用户访问网站时是否正在运行任何屏幕录像机。 如果他是,我需要把他注销。 我有关于c#,vb.net的知识。 你可以告诉我,如果可以跟踪屏幕录像机是否在用户的计算机上运行?

MSMQ:将客户端从WIndows XP移到Windows 7,在ping中执行

我们有一个问题,将.NET客户端应用程序从Windows XP移动到Windows 7,连接到WIndows 2003服务器。 客户端与服务器的连接松动,这似乎与底层ping系统的变化有关。 看来在Windows 2003上的服务器端MSMQ(3.X)期望不再由Windows 7客户端(MSMQ 4.X)提供的一个ping。欢迎任何帮助。

无法卸载MySql连接器。净6.9.3,在MySql.Web.v20.dll失败

Env:Windows 7和8.1,均为x64 我无法卸载MySql Connector.Net或安装更新。 我看着错误日志,并在这个时候发生故障。 Uninstalling assembly 'C:\Program Files (x86)\Development\Database\MySQL\MySQL Connector Net 6.9.3\Assemblies\v2.0\MySql.Web.v20.dll'. Affected parameters are: logtoconsole = logfile = C:\Program Files (x86)\Development\Database\MySQL\MySQL Connector Net 6.9.3\Assemblies\v2.0\MySql.Web.v20.InstallLog assemblypath = C:\Program Files (x86)\Development\Database\MySQL\MySQL Connector Net 6.9.3\Assemblies\v2.0\MySql.Web.v20.dll An exception occurred during the uninstallation of the MySql.Web.Security.CustomInstaller installer. System.NullReferenceException: Object reference not set to an instance of an object. […]

如何以编程方式禁用系统设备?

我正在寻找的方式来禁用系统设备(无论是USB或内部)在C#.NET给定的PID和VID或设备名称。 search后,我发现CodeProject上的C#硬件助手库 。 但是我需要能够在XP,Vista和Windows 7(包括x86和x64操作系统)上工作的东西… 我链接的项目只能在XP和Vista x86下运行…即使以pipe理员权限运行应用程序。 有谁知道可以在所有操作系统上工作的解决scheme吗?