小编Fir*_*DoL的帖子

移动无边框Winform按住鼠标右键,可能使用本机方法

我有一种情况,我想通过在其客户区域上按住鼠标右键来移动窗体; 正如我所说,这种形式是无国界的.

我想"原生"地移动它(如果可能的话,否则其他答案也可以).我的意思是当你在标题栏上按住鼠标左键时它的行为方式(鼠标移动和类似的东西,我得到很多奇怪的行为,但也许只是我).

我已经阅读了很多内容,这篇文章看起来很有帮助

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/b9985b19-cab5-4fba-9dc5-f323d0d37e2f/

我尝试了各种方式来使用它,并通过http://msdn.microsoft.com/en-us/library/ff468877%28v=VS.85%29.aspx观看以寻找其他有用的东西,WM_NCRBUTTONDOWN出现在我的脑海中, wndproc没有检测到它,也许是因为它是由表单处理的?

任何建议都表示赞赏,谢谢

弗朗切斯科

c# move right-click winforms borderless

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

应用程序设置中的StringCollection不会被存储

我想使用StringCollection作为应用程序设置,但是在阅读它不是问题时,我发现没有存储设置.

如何使其工作?任何解决方法?这有什么问题?

我正在使用的代码:

    private static void AddToRecentProfiles(string path)
    {
        if (SpellCaster3.Properties.Settings.Default.RecentProfiles == null) 
            SpellCaster3.Properties.Settings.Default.RecentProfiles = new StringCollection();

        int index = SpellCaster3.Properties.Settings.Default.RecentProfiles.IndexOf(path);
        if (index >= 0)
            SpellCaster3.Properties.Settings.Default.RecentProfiles.Swap(index, 0);
        else
            SpellCaster3.Properties.Settings.Default.RecentProfiles.Insert(0, path);

        if (SpellCaster3.Properties.Settings.Default.RecentProfiles.Count > SpellCaster3.Properties.Settings.Default.MaxRecentProfiles)
            SpellCaster3.Properties.Settings.Default.RecentProfiles.RemoveAt(SpellCaster3.Properties.Settings.Default.RecentProfiles.Count - 1);

        SpellCaster3.Properties.Settings.Default.Save();

        OnRecentProfilesChanged(SpellCaster3.Properties.Settings.Default.RecentProfiles, EventArgs.Empty);
    }
Run Code Online (Sandbox Code Playgroud)

c# string collections application-settings

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

如果我们使用具有代码优先方法的Entity框架,是否可以在给定路径上创建数据库(Sql Server compact)?

我对Entity框架有点困惑,我想使用代码优先方法; infact我想写一下我的数据库表是如何通过类定义组成的.

主要的问题是我需要创建一个数据库(或打开它),通过选择它的路径(用户可以选择打开哪个数据库,并在他想要的时候创建新的数据库).我已经选择了Sql server compact来实现这一点,但是我仍然不明白如何使用代码优先方法来处理这种情况,因为我不明白如何选择应该使用代码优先方法创建数据库的位置,如果是可能.

任何人都可以解释我做错了什么,并建议一个不同的路线,如果有的话?谢谢

c# sql-server-ce ef-code-first entity-framework-4.1

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

通过输入流发送音频,就像我正在用麦克风说话一样

我想通过我的输入设备发出声音:我不想播放它,我只是希望它"看起来像"我正在用我的麦克风说话而是我正在播放类似于wav文件的内容流.

这是因为我想从我用来与朋友交谈的应用程序中独立发送音频(所以如果我使用skype/teamspeak/ventrilo等等也没关系).

可能吗?怎么做这样的事情?

c# audio input microphone

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

C#:如何通过以某种方式从另一个线程发出信号来强制从主线程"调用"一个方法

对不起长标题,我甚至不知道如何表达问题的方式

我正在使用一个库,它从主线程(是一个C库)的不同上下文运行回调,我在C#中创建了回调,当我被调用时,我想只提出一个事件.

但是因为我不知道事件内部会是什么,我想找到一种方法来调用方法而不会出现锁等问题(否则第三方用户将不得不在事件中处理这个问题,非常难看)

有没有办法做到这一点?我可以完全走错路,但我正在考虑winforms处理不同线程的方式(.Invoke事物)

否则我可以发送消息到窗口的消息循环,但我不知道很多关于消息传递,如果我可以发送像这样的"自定义"消息

例:

private uint lgLcdOnConfigureCB(int connection, System.IntPtr pContext)
{
    OnConfigure(EventArgs.Empty);
    return 0U;
}
Run Code Online (Sandbox Code Playgroud)

这种回调从另外一个程序,我不拥有控制权叫,我想在主线程中运行OnConfigure方法(即处理我的WinForm的),怎么办呢?或者换句话说,我想运行OnConfigure而不需要考虑锁

编辑1:

我有这个例外的问题:

CallbackOnCollectedDelegate reived消息:在GarbageCollector中收集的委托'G19dotNet!G19dotNet.LgLcd + lgLcdOnSoftButtonsCB :: Invoke'上运行回调.在非托管代码期间,应确保代理永远不会被删除,直到您确定永远不会被调用

编辑2:

问题由我自己解决,感谢Stackoverflow总是帮助我!供将来参考:将委托定义为函数指针

c# multithreading signals callback winforms

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

Winform对话框:检测移动的开始和结束

我想检测一下winform何时开始被拖动以及何时停止.

原因很简单:我想提供一个Ctrl + Z功能,将窗口设置回原来的位置,当移动开始和结束时我都需要存储

有没有可能做到这一点?

更新1:我发现了如何检测停止拖动: C#表单移动停止事件

我想现在检测START拖动

move detect winforms

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

XmlSerializer使用CSC.EXE反序列化错误

我创建了一个程序,该程序在我的计算机上运行良好,通常也在其他计算机上运行.但是有一个人在运行时遇到问题我真的不明白为什么,Stacktrace是:

System.Runtime.InteropServices.ExternalException(0x80004005):Impossibile eseguire un programma.在esecuzione时代的Il comando"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\c sc.exe"/ noconfig/fullpaths @"C:\ Users\Andry\AppData\Local\Temp\dot0eqxi.cmdli ne" .---> System.ComponentModel.Win32Exception(0x80004005):System.CodeDom.Compiler.Executor.ExecWaitWithCaptu中的未知错误(0x36b1)reUnimpersonated(SafeUserTokenHandle userToken,String cmd,String currentDir,TempFileCollection tempFiles,String&outputName,String&errorName,String trueCmdLine )在Microsoft.CSharp.CSharpCodeGenerator.Compile中的System.CodeDom.Compiler.Executor.ExecWaitWithCaptu re(SafeUserTokenHandle userToken,String cmd,String currentDir,TempFileCollection tempFiles,String&outputName,String&errorName,String trueCmdLine)中(Compi lerParameters选项,String compilerDirectory,字符串compilerExe,String arguments,String&outputFile,Int32&nativeReturnValue,String trueArgs)Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options,String [] fileNames)in Microsoft.CSharp.CSharpCodeGenerator.FromSourceBat ch(CompilerParameters options,String [] sources)在Microsoft.CSharp.CSharpCodeGenerator.System.CodeDo m.Compiler.ICodeCompiler.Co中 System.Xml.Serialization.TempAssembly.GenerateAsse mbly(XmlMapping [] xmlMappings中的System.Xml.Serialization.Compiler.Compile(程序集父级,字符串ns,XmlSerializerCompilerParameters xmlParameters,证据证据)中的mpileAssemblyFromSource Batch(CompilerParameters options,String [] sources) System.Xml.Serialization.TempAssembly..ctor中的Type [] types,String defaultNamespace,Evidence evidence,XmlSerializerCompilerParameters参数,Assembly assembly,Hashtable程序集)(XmlMap ping [] xmlMappings,Type [] types,String defaultNamespace,String location, SpellCaster3.Program.Main()中SpellCaster3.Program.LoadBaseRange()中的System.Xml.Serialization.XmlSerializer..ctor(Type type,String defaultNamespace)中的证据证据)

正如您所看到的,该问题与反序列化有关(该对象仅被反序列化)并且它发生在XmlSerializer构造函数中.

问题可能以某种方式与此问题相关:为什么我的Windows服务启动csc.exe实例?为什么我的windows服务启动CSC.EXE的实例?

我很不能复制这个bug.这是涉及的代码:

Program.cs中

    private static void LoadBaseRange()
    {
        string fileIconImageIndices = Application.StartupPath …
Run Code Online (Sandbox Code Playgroud)

c# xml serialization csc

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

Cache对象应该直接从文件系统读取吗?

我正在构建一个实现tftp协议的服务器.我的作业要求创建最近请求的文件的缓存.我想了解的是关于设计,看一下这个例子:

服务器请求文件到缓存缓存没有文件缓存从文件系统读取文件缓存将文件提供给服务器

如果缓存从文件系统读取,或者服务器是否应从缓存中读取,并且文件是否丢失,请从文件系统中读取缓存并将其放入缓存中?

c++

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

HashSet <T> Xml是否可序列化?

我想序列化一个IXmlSerializable对象的HashSet,是HashSet xml可序列化吗?

在我的情况下,我有类User和一个名为Users的HashSet.我可以避免为序列化目的创建用户类吗?

我希望将hashset作为参数传递给xml序列化程序.

如果它是作为http响应获得的,可以反序列化xml吗?我在考虑使用MemoryStream,还有其他可能吗?

c# xml serialization http hashset

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

设置data-*属性

我有一种情况,我需要在div上设置"data-*"的值.我实际使用的代码是这样的:

  = tag('div', { class: 'agile-carousel',\
                 data: { carousel_list: url_for(format: :json) } }, true)
  = "</div>".html_safe
Run Code Online (Sandbox Code Playgroud)

哪个太可怕了.rails还以一种<div />方式关闭div ,Chrome和其他浏览器肯定不喜欢(创造一些灾难).

所以我的解决方案就是那个.我想问一下是否有另一种方法可以做到这一点.

更新1:

我有小问题,这段代码:

span class==I18n.locale == locale_used ? "inactive" : nil
  = link_to(I18n.t('locale_name', locale: locale_used),\
            url_for(locale: locale_used))
Run Code Online (Sandbox Code Playgroud)

如果我删除link_to它的工作原理.请注意,如果我插入类似的东西,| text则会返回错误:syntax error, unexpected keyword_ensure, expecting $end

html5 ruby-on-rails slim-lang

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