小编ada*_*ams的帖子

.NET中的StackOverflowException

在.NET中遇到一些StackOverflowExceptions之后,我注意到它们完全绕过了.NET提供的未处理的异常处理程序(Application.ThreadException/AppDomain.UnhandledException).这非常令人不安,因为我们在这些异常处理程序中有关键的清理代码.

有没有办法克服这个问题?

.net exception

13
推荐指数
2
解决办法
7701
查看次数

压缩旋转日志文件的实用程序?

我正在使用NLog进行日志记录,并且需要压缩它们创建后不久生成的旋转文本文件的负载.

NLog应该在未知的未来某个时候支持这个功能,但是有没有可以独立完成的各种功能?

zip nlog

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

检测 ListView 滚动条何时到达底部

我如何知道 WinForms ListView 滚动条何时到达底部?

发生这种情况时,我希望列表视图填充更多数据(在我的情况下理论上是无穷无尽的)。

OnScroll 事件为我提供了从顶部开始的滚动值,但我无法知道用户是否可以进一步滚动。

.net c# winforms

4
推荐指数
1
解决办法
2773
查看次数

如何防止控件更改 Z 顺序?

我在 .Net 中有用户控制权,我在 WndProc 中使用命中测试来允许在运行时用鼠标调整它的大小。

问题是在命中测试成功(鼠标按下、拖动以调整大小、鼠标释放)之后,控件在 Z 顺序中向上跳跃并破坏了它在表单中的位置。

我需要命中测试,因为它是一个非常定制的控件。

WndProc 有没有办法阻止控件改变它的 Z 顺序?

谢谢。

命中测试代码:

protected override void WndProc(ref Message m) {
  if (!DesignMode && Sizeable && (m.Msg == Win32Wrapper.WM_NCHITTEST)) {
    Point Hit = new Point((int)m.LParam & 0xFFFF, (int)m.LParam >> 16);
    Hit = this.PointToClient(Hit);
    int DistToBorder = 5;
    if (Hit.X < DistToBorder) {
      if (Hit.Y < DistToBorder) {
        m.Result = (IntPtr)Win32Wrapper.HTTOPLEFT;
        return;
      }
      if (Hit.Y > this.ClientRectangle.Bottom - DistToBorder) {
        m.Result = (IntPtr)Win32Wrapper.HTBOTTOMLEFT;
        return;
      }
      m.Result = (IntPtr)Win32Wrapper.HTLEFT;
      return;
    } …
Run Code Online (Sandbox Code Playgroud)

c# windows messaging winapi

3
推荐指数
1
解决办法
3174
查看次数

.Net中的异常日志记录工具

我正在寻找一个好的工具,可以让我对生产版本中的异常进行详细分析.

我知道EurekaLog,我看到曾经添加了一个带有青蛙或其类似名称的软件,在谷歌搜索它没有任何结果.

有人有重新发明吗?

我的主要目标当然是在生产中发生崩溃时提取最大量的有用信息.

此外,可能有点偏离主题,类似于死锁检测.

.net devtools

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

标签 统计

.net ×3

c# ×2

devtools ×1

exception ×1

messaging ×1

nlog ×1

winapi ×1

windows ×1

winforms ×1

zip ×1