小编Han*_*ant的帖子

如何在详细信息模式下隐藏.NET ListView控件中的垂直滚动条

我在详细信息模式下有一个ListView控件,只有一列.它位于一个仅用于键盘的表格上,主要是用于向上/向下箭头滚动和输入以进行选择.所以我真的不需要滚动条,只是想让它们看起来更干净.但是,当我将ListView.Scrollable属性设置为false时,我仍然可以上下移动所选项目,但只要它移动到当前不在视图中的项目,列表就不会移动以显示该项目.我已经尝试使用EnsureVisible以编程方式滚动列表,但在此模式下它什么都不做.

有没有办法手动移动列表上下滚动,但没有滚动条存在?

c# listview winforms

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

如何从标准的非托管非.NET应用程序调用C++/CLI(.NET)DLL?

在非托管的世界中,我能够编写__declspec(dllexport),或者使用.DEF文件来公开一个能够调用DLL的函数.(由于在C++中使用__stdcall进行名称修改,我将别名放入.DEF文件中,以便某些应用程序可以重用某些导出的DLL函数.)现在,我感兴趣的是能够从一个单独的入口点函数公开.NET程序集,以非托管方式,但让它在DLL中进入.NET样式的函数.这可能是一种简单而直接的方式吗?

我所拥有的是第三方程序,我通过DLL(插件)扩展,实现了一些复杂的数学.但是,第三方程序无法让我可视化计算.我想以某种方式采用这些预先编写的数学函数,将它们编译成一个单独的DLL(但在.NET中使用C++/CLI),然后在函数中添加钩子,这样我就可以在.NET中渲染一些内容.用户控制.我不确定如何将.NET内容与非托管内容混合,或者谷歌如何完成此任务.

关于托管/非托管网桥的具体建议,或以我所描述的方式完成渲染的替代方法将会有所帮助.谢谢.

.net user-controls c++-cli managed

8
推荐指数
3
解决办法
4326
查看次数

有没有办法获得滚动条的高度和宽度?

我正在尝试获取ListView上显示的滚动条的高度和宽度.是否有捷径可寻?我做了一些google'ing,看起来它可能是一个系统设置.我只是不确定在哪里看.

.net c# listview scrollbar

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

如何将System.Data.Linq.Binary转换为流?

以为我可以使用BinaryWriter但没有运气.建议?

.net linq streaming

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

我必须调用()来显示一个线程的对话框或MessageBox吗?

我正在工作线程中执行代码.有时,我需要显示一个对话框或一条消息.

我一直在玩代码,只是Invoke在我传递IWin32Window给对话框时似乎是严格必要的.否则工作正常.

我的问题是两个:

  1. 我必须打电话给Invoke吗?
  2. 如果我没有显示对话框或消息框,我会有什么风险Invoke

提前致谢

.net c# multithreading invoke winforms

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

如何在不失透明度的情况下将图像转换为图标?

我有PNG图像,我需要在显示之前将其转换为图标.

我就这样做了:

public Icon ImageToIcon(Image imgTest)
{
    Bitmap bitmap = new Bitmap(imgTest);
    Icon icoTest;

    IntPtr iPtr = bitmap.GetHicon();
    icoTest = (Icon) Icon.FromHandle(iPtr).Clone();

    return icoTest;
}
Run Code Online (Sandbox Code Playgroud)

这样做后我失去了透明度,alpha透明图像没有按预期呈现....这可以解决吗?

c# alpha-transparency winforms

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

如何在Windows上报告堆栈缓冲区溢出?

在下面显示的代码中,我使用了所有记录的方法来检测异常并生成诊断.它使用C++ try/catch关键字,使用__try/__catch扩展关键字捕获SEH异常,使用Windows的AddVectoredExceptionHandler()和SetUnhandledExceptionFilter()winapi函数来安装VEH/SEH过滤器.

使用Visual C++ 2003运行:
/GS:输出"hello,world!" 并以退出代码0终止
./ GS-:输出"hello,world!" 并以退出代码0终止.

使用Visual C++ 2013运行:
/GS:无输出,以退出代码-1073740791
/GS- 终止:输出"hello,world!" 并以0退出终止.

如何在/ GS生成的VS2013编译程序中生成诊断?

#include "stdafx.h"
#include <Windows.h>

#define CALL_FIRST 1  
#define CALL_LAST 0

LONG WINAPI MyVectoredHandler(struct _EXCEPTION_POINTERS *ExceptionInfo)
{
    UNREFERENCED_PARAMETER(ExceptionInfo);

    printf("MyVectoredHandler\n");
    return EXCEPTION_CONTINUE_SEARCH;
}

LONG WINAPI MyUnhandledExceptionFilter(_In_ struct _EXCEPTION_POINTERS *ExceptionInfo)
{
    printf("SetUnhandledExceptionFilter\n");

    return EXCEPTION_CONTINUE_SEARCH;
}

void f()
{
    __try
    {
        char p[20] = "hello,world!";
        p[24] = '!';
        printf("%s\n", p);
    }
    __except (EXCEPTION_EXECUTE_HANDLER)
    {
        printf("f() exception\n");
    }
}

int _tmain(int argc, _TCHAR* argv[]) …
Run Code Online (Sandbox Code Playgroud)

c++ exception

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

为什么CurrentCulture是Thread的属性?

作为一个奇怪的设计选择,当前的文化信息(CurrentCulture和/或CurrentUICulture)是正在运行的线程的属性,这让我感到震惊.至少看起来这样的事情的范围应该是一个级别,在过程级别.

但是一旦你听到这个理由,这些事情通常都有意义.找出为什么.NET设计者认为Thread是放置这个属性的正确位置可能很有启发性.

.net cultureinfo currentculture

7
推荐指数
2
解决办法
436
查看次数

如何在我创建的另一个窗口中显示来自WebBrowser的弹出窗口?

我试图在我的一个应用程序中实现一个简单的Web浏览器控件.这是为了帮助将Web应用程序集成到我正在创建的工具集中.

问题是,这个网络应用程序绝对喜欢弹出窗口....

当弹出窗口打开时,它会在IE窗口中打开,该窗口不是我的主窗口所属的MDI容器窗体的子窗口.

如何通过单击我的WebBrowser中的链接创建任何和所有弹出窗口作为我的MDI容器的子项(类似于设置窗体的MDIParent属性)?

提前致谢.

c# mdiparent webbrowser-control

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

如何使用16字节对齐分配内存?

Marshal.GlobalHAlloc用来分配内存.正如文档所说:"此方法从Kernel32.dll公开Win32 LocalAlloc函数." GlobalAlloc的文档说它将是8字节对齐,但LocalAlloc没有说任何关于对齐.

例如,我想分配1024个字节并确保它与16对齐.当我分配1024 + 16个字节然后检查指针%16时它会工作吗?如果结果为0则意味着内存对齐,当它不为0时,我只是增加指针以符合我的期望.问题是我不知道,如果我有对齐指针它真的在物理内存中对齐?

c# memory unmanaged

7
推荐指数
1
解决办法
3409
查看次数