如何实现会话超时等winform会话

嗨,我打算在窗口应用程序中实现会话等function,但不是为了暂时保留使用信息。主要目的是在会话到期后注销或至少提示登录/密码。我找不到关于在线超时function的信息。如果有人可以指点我的一些资源或与我们分享他的经验,我将非常感激。感谢您阅读本PS:我正在使用C#.NET 2.0和visual studio 2005 merci。

在C#Windows窗体中的同一ListView控件中重新排序/移动/拖放ListViewItems

我在C#2008系统Windows窗体的LargeIcon视图中有一个ListView 。 现在我想在同一个ListView中移动这个ListView的一个项目在另一个位置 – 让我们称它为“拖放”或“项目重新排序”或其他什么。 VB 6能够做到这一点,并在任何listView中自动执行此操作。 C#似乎没有此function,或者需要先编码。 为了编码,我没有经验,我在互联网上的研究中找不到任何答案。 我发现只有一个“覆盖程序”没有用。 我不需要任何其他ListView控件(如ObjectListView或其他),我不需要覆盖程序或制作新的ListView控件。 我想在Microsoft提供的ListView控件中处理它。 对此有任何想法。 代码将受到高度赞赏我相信我不能自己做,除非它是一个非常简单的单行。 PS:如果需要移动项目,我需要移动项目的所有属性(text,tag,imagekey,background-color,foreground-color,name,tooltiptext等)。 我不知道如何实现这一目标。 我发现了一个提示:它存在删除一个项目(称为.Remove ())并插入一个名为.Insert ()的插入。 但是有了这些信息,我仍然无法通过鼠标“移动”物品。 我认为listView的所有DragEvents都在这里发挥作用,但我不知道如何使用它们以及如何将所选项目( listView1.SelectedItems )复制到正确的位置并且需要首先获得此位置。

entity framework:将nullable设置为false,但type仍然可以为空

此问题涉及在Visual Studio 2012中创建的新类库项目。 我已经将SQL Server视图添加到我的entity framework模型中。 在PromisedDate列的属性中,我已将Nullable从(None)更改为False因为此列中永远不会返回null值。 我已经仔细检查了select语句没有空值。 但是,即使在保存之后,关闭Visual Studio中所有打开的选项卡并完全清理并重建解决方案, PromisedDate仍然是DateTime? 我必须继续在代码中使用.Value来获取它的值。 令人沮丧的是,我做错了什么?! 以下是生成的.CS文件的屏幕截图:

在一个Stream类中拼接多个流

我想创建一个类(让我们调用类HugeStream)在其构造函数中采用IEnumerable <Stream > 。 这个HugeStream应该实现Stream抽象类。 基本上,我有来自数据库的1到多个UTF8流,当它们放在一起时,会生成一个巨大的XML文档。 HugeStream需要由文件支持,以便我可以随时寻找整个拼接流的位置0。 有谁知道如何快速实现这个? 我在这个页面上看到了类似的东西,但它似乎不适合处理大量的大流。 效率是关键。 另外,我在浏览Streams时遇到了麻烦,因为我需要实现自己的Stream,所以我有点困惑。 如果有一个关于实现Stream类的好教程,任何人都知道,请告诉我; 我没有找到任何浏览的好文章。 我刚看到很多关于使用已经存在的FileStreams和MemoryStreams的文章。 我是一个非常直观的学习者,由于某种原因,找不到任何有用的东西来研究这个概念。 谢谢, 马特

将类似索引器的属性暴露给COM

我有现有的COM界面。 我不想创建一个将新接口公开为COM(带有新GUID)的.net程序集,但接口的结构必须相同。 如何创建一个公开此接口的.net类(C#)? [ odl, uuid(1ED4C594-DDD7-402F-90DE-7F85D65560C4), hidden, oleautomation ] interface _IFlashPhase : IUnknown { [propget] HRESULT _stdcall ComponentName( [in] short i, [out, retval] BSTR* pVal); [propput] HRESULT _stdcall ComponentName( [in] short i, [in] BSTR pVal); [propget] HRESULT _stdcall ComponentMolePercent( [in] short i, [out, retval] double* pVal); [propput] HRESULT _stdcall ComponentMolePercent( [in] short i, [in] double […]

加载所有项目并在ListView中显示后会触发哪个事件?

在WPF ListView中加载并显示所有项目后会触发哪个事件? 我尝试优化在ListView中显示大量项目。 ListView使用以下代码填充Items: List selectedArtistsList; //Code to fill selectedArtistsList with about 6,000 items not shown here CollectionViewSource selection1ViewSource = ((CollectionViewSource)(this.FindResource(“selection1Source”))); Stopwatch stopWatch1 = new Stopwatch(); stopWatch1.Start(); selection1ViewSource.Source = selectedArtistsList; stopWatch1.Stop(); Debug.Print(“Time used: {0}ms”, stopWatch1.ElapsedMilliseconds.ToString()); 当我运行此代码时,我看到“时间使用119毫秒”或类似的东西。 但是在我看到屏幕上ListView中的Items之前,它需要大约3秒钟。 是否有一个事件在ListView加载项目后触发? 我有兴趣测量ListView为用户准备好的时间。

C# – 通过HTTP代理将文件上传到FTP

我正在尝试编写一个C#程序,将文件上传到通过代理服务器的FTP。 这是我写的代码: public new bool Upload(string localFilePath, string pathUpload) { Stream FStream = null; bool retval = false; FileStream FlStream; try { FtpWebRequest FtpRequest = (FtpWebRequest) FtpWebRequest.Create(Uri + pathUpload); FtpRequest.Credentials = new NetworkCredential(User, Password); if (ProxyAddress != “” && ProxyAddress != null) { WebProxy ftpProxy = new WebProxy(); ftpProxy.Address = new System.Uri(ProxyAddress); ftpProxy.Credentials = new […]

C#中的套接字,如何通过NetworkStream异步读写数据

[我仅限于Visual Studio 2010,因此,我不能使用C#4 async和await。] 我正在研究我的项目的网络架构,它通过网络在服务器和客户端之间发送数据包,但客户端和服务器必须在等待时继续运行,因此代码必须是非阻塞的,所以我想过要使用异步方法。 但是,除了简单的同步一次性IO,我不知道该怎么做,特别是在使用NetworkStream时。 我想要做的是: 1)客户端连接到服务器 2)服务器接受连接 3)服务器等待来自客户端的数据 4)服务器处理数据 5)服务器响应客户端 6)连接打开时,从3开始重复。 我想使用NetworkStream来包装套接字。 但我是异步I / O的新手,我不确定在等待响应时如何在不阻塞服务器/客户端代码的其他部分的情况下执行此操作,尤其是对于NetworkStream。 在我的研究中,我看到使用类似这样的例子: while(true){ socket.BeginAccept(new AsyncCallback(AcceptCallback), socket ); } 但似乎循环仍然会阻碍应用程序。 谁能给我一些关于如何做到这一点的指针(ha)? 我无法找到许多保持连接打开的示例,只有Client Connect – > Client Send – > Server Recieve – > Server Send – > Disconnect。 我不是要求完整的代码,只是提供一些片段的一般想法。

如何计算字符串中每个单词的出现次数?

我使用下面的代码从字符串输入中提取单词,我怎样才能得到每个单词的出现? var words = Regex.Split(input, @”\W+”) .AsEnumerable() .GroupBy(w => w) .Where(g => g.Count() > 10) .Select(g => g.Key);

Visio中的形状连接器

我正在使用C#在Studio 2010中为Visio 2010编写一个加载项。 我需要阅读当前在Visio中打开的图表。 我知道如何阅读图表的形状。 问题是 如果我有一个形状对象,哪些属性可以给我页面上的形状坐标和其他形状(如果有的话),当前的一个是连接的, 如果我有一个连接器对象,哪些属性可以给我连接的形状和连接的方向。