我有一个包含RichTextBox的Winforms应用程序.
如何确定当前可见的文本行数?
原因:我想将插入符号滚动到RichTextBox的中间.我可以使用RichTextBox.ScrollToCaret(),但这会将插入符号放在RichTextBox的顶部.我想,如果我知道显示了多少行,我可以将插入符号"后退"移动n/2行,然后调用ScrollToCaret(),然后恢复原始插入位置.
编辑:
我找到了EM_GETLINECOUNT,我认为这是答案,除了文档说:EM_GETLINECOUNT消息检索文本行的总数,而不仅仅是当前可见的行数.
引人注目的是,还有EM_GETFIRSTVISIBLELINE,它获得了第一条可见线,但我找不到GETLASTVISIBLELINE.??
如果我想调整jQuery UI对象的一些功能,通过替换其中一个函数,我将如何去做呢?
示例:假设我想修改jQuery自动完成小部件呈现建议的方式.自动完成对象上有一个方法如下所示:
_renderItem: function( ul, item) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "</a>" )
.appendTo( ul );
},
Run Code Online (Sandbox Code Playgroud)
我可以替换它吗?
我想这可能叫做Monkey Patching.
怎么样?我会用什么语法?
假设我有一个Dictionary<String,String>,我想生成一个字符串表示."石头工具"的方式是:
private static string DictionaryToString(Dictionary<String,String> hash)
{
var list = new List<String> ();
foreach (var kvp in hash)
{
list.Add(kvp.Key + ":" + kvp.Value);
}
var result = String.Join(", ", list.ToArray());
return result;
}
Run Code Online (Sandbox Code Playgroud)
有没有一种有效的方法在C#中使用现有的扩展方法来做到这一点?
我知道List上的ConvertAll()和ForEach()方法,可以用来消除foreach循环.是否有类似的方法我可以在Dictionary上使用迭代项目并完成我想要的东西?
我可以在shell模式下使用powershell作为shell吗?
怎么样?
如果我编译带有CL.EXE C语言DLL源,我怎么设置文件属性,包括文件版本产品名称,产品版本,版权等等,这样我就可以在Windows浏览这些属性?

在用C#编写的.NET应用程序中,我可以使用汇编属性来完成此操作[assembly: AssemblyVersion("1.2.3.4")].我如何在C语言项目中执行此操作?
我正在使用.wxl文件来自定义WixUI_FeatureTree中各种对话框中的文本.如何插入换行符?
这不起作用:
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WelcomeDlgTitle">{\WixUI_Font_Bigger}Welcome to the Setup Wizard for\r\n[ProductName]</String>
</WixLocalization>
Run Code Online (Sandbox Code Playgroud)
如果我试试,我会在对话框的文本中得到"\ r \n".
我读到了关于Relaxer的事情,它将.RNG编译成Java类.BBut网站http://www.relaxer.org/已经死了.
Q1:
Relaxer活着吗?这是真的吗,有效吗?从.RNG生成Java类是否合理?
Q2:
是否有适用于.NET的Relaxer?是否有一个工具可以从RelaxNG模式生成C#类?
问题3: Javascript是否有松弛剂?
而且,最后
Q4:
RelaxNG活着吗?它可行吗?在REST/JSON世界中相关且有用吗?人们还在使用它还是会褪色,这个好主意已经被淘汰了?我知道这是主观的,但我想知道你的评估.我在stackoverflow上看到只有9或10个RelaxNG Q,所以我质疑这项技术的相关性.如果不是RelaxNG,那又怎样?WADL? 什么都没有?
有关相关问题,请参阅维护JavaScript和C#对象模型之间的一致性.
我在C#代码上使用Flymake,在Windows上使用emacs v22.2.1.
Flymake的东西一直很适合我.对于那些不知道的人,您可以阅读flymake的概述,但快速的故事是,flymake重复构建您当前正在后台处理的源文件,以进行语法检查.然后,它会突出显示当前缓冲区中的编译器警告和错误.
Flymake最初并不适用于C#,但是我"修补了它",现在效果很好.如果您在emacs中编辑C#,我强烈建议您使用flymake.
我唯一的问题是UI.Flymake很好地突出显示错误和警告,然后使用包含完整错误或警告文本的工具提示插入"叠加".如果我将鼠标指针悬停在代码中突出显示的行上,则会弹出叠加工具提示.
替代文字http://i42.tinypic.com/qqu0ja.jpg
但正如您所看到的,叠加工具提示已被剪裁,并且无法正确显示.
Flymake似乎正在做正确的事情,它是覆盖部分似乎被打破.,叠加似乎做对了.这是错误显示的工具提示.
不要覆盖提示在Emacs的Windows正常工作?
我在哪里解决这个问题?
经过一些研究,我发现效果可以证明 (tooltip-show really-long-string)
它与叠加层或flymake无关.
像这样:http:
//perl.plover.com/yak/regex/samples/slide083.html
换句话说,我想成功匹配,{ { foo } { bar} }但不是{ { foo }.
我认为它可能在perl 和.NET中.是否可以在emacs正则表达式?
我不想忽略缩进级别.
我想强制执行一个非默认的特定缩进级别,4.
显然这是可能的:

怎么样?
关于这些东西的文档似乎在逃避我.
emacs ×3
c# ×2
windows ×2
.net ×1
c ×1
cl.exe ×1
codesniffer ×1
dictionary ×1
dll ×1
javascript ×1
jquery ×1
php ×1
powershell ×1
regex ×1
relaxer ×1
relaxng ×1
richtextbox ×1
scroll ×1
version ×1
winforms ×1
wix ×1