小编Boh*_*hoo的帖子

如果项目是由SharpDevelop生成的,则Norton Antivirus会阻止OpenFileDialog

如果您使用SharpDevelop 4创建一个新的winform项目,然后将OpenFileDialog(或SaveFileDialog)拖到窗体,然后显示对话框(.ShowDialog),Norton Internet security 2011会阻止该应用程序并将其删除(二进制文件).诺顿的声纳保护报告了该应用的"可疑行为".Visual Studio创建的项目不会发生这种情况.我运行Win 7.

我想也许这与缺乏单线程的公寓属性有关.SharpDevelop是否将此属性用于winforms?它在哪里?一般来说:SharpDevelop和Visual Studio的自动生成代码之间有什么区别可能会导致这种情况?

编辑:

  • 在SharpDevelop调试内部和二进制文件外部都会出现问题.
  • 将.AutoUpgradeEnabled设置为False可以解决问题.但是,当Visual Studio生成代码时,无论.AutoUpgradeEnabled的值如何,都不会出现问题.

.net c# antivirus sharpdevelop winforms

8
推荐指数
1
解决办法
855
查看次数

WinForm应用程序,不受ClearType全局设置的影响

我有一个主窗体(WinForm),它应该呈现其内容没有ClearType.更确切地说,该表单中的RichTextBox应该呈现其没有ClearType的文本.在最终用户系统上打开ClearType时,如何防止它影响我的应用程序?

我没有找到如何使用System.Drawing实现这一点,也不知道P/Invoke解决方案.

.net fonts gdi+ cleartype winforms

5
推荐指数
1
解决办法
479
查看次数

WPF - 是否必须处理 HwndSource?

我在HwndSource不是主窗口的 WPF 窗口中使用,以便挂钩窗口过程 (WndProc) 以接收一些消息:

WinSource = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);
WinSource.AddHook(new HwndSourceHook(WndProc));
Run Code Online (Sandbox Code Playgroud)

HwndSource实施IDisposable. MSDN 不清楚我何时/应该处理它。HwndSource.FromHwnd的文档解释了上述技术:

您可以使用此方法为不是显式互操作窗口的窗口返回 HwndSource。这样做的程序是:

  1. 创建一个 WindowInteropHelper 实例(提供主 Window 作为构造函数参数)。
  2. 从该 WindowInteropHelper 实例获取 Handle 属性的值。
  3. 将该 HWND 值作为参数传递给 FromHwnd。

进而:

如果您随后想要向窗口添加常规 AddHook 消息处理,则此技术非常有用。但是,每当您创建 HwndSource 时,您也有责任销毁它。即使已释放应用程序 HwndSource 的 Application 对象,也是如此。

(重点是我的)

但是,在HwndSource类文档中,我们看到:

对象生存期

HwndSource 是常规公共语言运行时 (CLR) 对象,其生命周期由垃圾收集器管理。因为 HwndSource 表示非托管资源,所以 HwndSource 实现 IDisposable。[...] 对于某些互操作场景,可能需要从互操作代码中显式调用 Dispose。

关于钩子:

实际的钩子由弱引用保存。因此,请确保您管理钩子委托的生命周期。

wpf interop idisposable

5
推荐指数
1
解决办法
1103
查看次数

CSCore - 从 FileStream 或 MemoryStream 播放音频

使用 CSCore,如何从FileStreamor播放 WMA 或 MP3 MemoryStream(与使用string文件路径或 url的方法不同)。

audio cscore

5
推荐指数
1
解决办法
3520
查看次数

C# - 二进制搜索a(已排序)字典

我有一个记录文件,按字母顺序排序:

  • 安德鲁d432
  • 本x127
  • ...
  • ...
  • Zac b332

第一个字段是人名,第二个字段是一些id.一旦我读取文件,我就不需要对数据进行任何更改.

我想将每个记录视为键值对,其中人名是键.我不知道使用哪个类来访问记录(尽可能快).Dictionary没有二进制搜索.在另一方面,按照我的理解,SortedList并且SortedDictionary只有当我需要插入应该使用/删除数据.

编辑:为了澄清,我说的只是访问记录,如:

x = MyDic[Zac]
Run Code Online (Sandbox Code Playgroud)

.net c# search dictionary

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