这是对WinForms RichTextBox的跟进
:如何在TextChanged上执行格式化?
我有一个带有RichTextBox的Winforms应用程序,该应用程序会自动突出显示所述框的内容.因为大型文档的格式化需要很长时间,10秒或更长时间,我已经设置了BackgroundWorker来重新格式化RichTextBox.它遍历文本并执行一系列这些:
rtb.Select(start, length);
rtb.SelectionColor = color;
Run Code Online (Sandbox Code Playgroud)
在这样做的同时,UI仍然保持响应.
BackgroundWorker从TextChanged事件开始.像这样:
private ManualResetEvent wantFormat = new ManualResetEvent(false);
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
xpathDoc = null;
nav = null;
_lastChangeInText = System.DateTime.Now;
if (this.richTextBox1.Text.Length == 0) return;
wantFormat.Set();
}
Run Code Online (Sandbox Code Playgroud)
后台worker方法如下所示:
private void DoBackgroundColorizing(object sender, DoWorkEventArgs e)
{
do
{
wantFormat.WaitOne();
wantFormat.Reset();
while (moreToRead())
{
rtb.Invoke(new Action<int,int,Color>(this.SetTextColor,
new object[] { start, length, color} ) ;
}
} while (true);
}
private void SetTextColor(int start, int length, System.Drawing.Color color) …Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法在C#中编写一个彗星服务器.我有一个定期生成数据的C#代码,我想将这些数据推送到java应用程序.所以想将我的C#代码转换为彗星服务器.还想知道是否有任何实现的彗星服务器允许我们将C#应用程序和Java应用程序连接到它,以便C#应用程序可以通过彗星服务器将信息传递给Java应用程序.数据推送频率会很高,但单个消息的大小非常小:字符串值.
在WPF中,成为"依赖属性"意味着什么呢?
我阅读了微软的依赖属性概述,但它并没有真正吸引我.部分文章说:
样式和模板是使用依赖项属性的两个主要激励方案.样式对于设置定义应用程序用户界面(UI)的属性特别有用.样式通常定义为XAML中的资源.样式与属性系统交互,因为它们通常包含特定属性的"setter",以及根据另一个属性的实时值更改属性值的"触发器".
然后示例代码是这样的:
<Style x:Key="GreenButtonStyle">
<Setter Property="Control.Background" Value="Green"/>
</Style>
....
<Button Style="{StaticResource GreenButtonStyle}">I am green!</Button>
Run Code Online (Sandbox Code Playgroud)
但是我没有得到关于这一点的特别之处.这只是暗示,当我Style按下按钮到给定的样式时,我实际上是Background隐式设置的吗?这是它的关键吗?
显然,SHA-1的弱点导致了这一决定.谁能详细说明这个决定的基础?在商业应用中使用SHA-1会有什么影响吗?
我真正的问题是:
对主流平台感兴趣:.NET,Java,C/C++,Python,Javascript等.
我可以得到一个100%高度的div,像这样:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>T5</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css"
href="http://yui.yahooapis.com/3.0.0/build/cssreset/reset-min.css">
</link>
<style type="text/css">
* { padding: 0; margin: 0; }
html, body { height: 100%; }
body {
font-family: "lucida sans", verdana, arial, helvetica, sans-serif;
font-size: 75%;
}
h1 { font-weight: bold; font-size: 1.4em; padding: 10px 10px 0;}
p { padding: 0 10px 1em; }
#container {
min-height: 100%;
background-color: #DDD;
border-left: 2px solid #666;
border-right: 2px solid …Run Code Online (Sandbox Code Playgroud) 假设我正在编辑一个包含C代码的缓冲区.
我已经开始语义化了semantic-load-enable-code-helpers.
我有点放在函数的名称上.如果我然后调用,senator-jump我可以跳转到该模块中首次声明该fn的位置.如果该模块中存在extern声明,那么它将转到该extern语句.有时?但有时它不起作用.
还有semantic-ia-fast-jump,跳到第一个声明,也.我不确定这个fn有何不同senator-jump.但是,对于本地缓冲区中定义的函数,这个实际上始终有效.
如果它想要跳转到的功能怎么样呢?如果该定义存在于一个单独的模块中,是否可以使用参数来跳转到fn的定义?EDE不应该做这样的事吗?
谢谢.
我使用这个.NET程序来执行Windows注册表的二进制转储HKLM/Hardware/ACPI/DSDT.
然后,运行Microsoft的ASL编译器,我可以得到这个ACPI源语言:
Scope(\_TZ_)
{
Name(TBSE, 0xaac)
Name(CRT0, 0x0)
Name(PSV0, 0x0)
ThermalZone(TZS0)
{
Method(_TMP, 0x0, NotSerialized)
{
If(\ECON)
{
Store(\_SB_.PCI0.LPC0.EC0_.THS0, Local0)
Store(\_SB_.PCI0.LPC0.EC0_.KCSS, Local1)
Store(\_SB_.PCI0.LPC0.EC0_.KOSD, Local2)
}
Else
{
Store(RBEC(0x92), Local0)
And(Local0, 0x1, Local1)
And(Local0, 0x8, Local2)
Store(RBEC(0xa8), Local0)
}
If(Local1)
{
Add(PSV0, 0x1, Local0)
}
If(Local2)
{
If(LNot(LGreater(Local0, CRT0)))
{
Add(CRT0, 0x2, Local0)
}
}
Return(C2K_(Local0))
}
Method(_HOT, 0x0, NotSerialized)
{
If(LEqual(OSYS, 0x7d6))
{
If(\ECON)
{
Store(0x20, \_SB_.PCI0.LPC0.EC0_.TIID)
Store(\_SB_.PCI0.LPC0.EC0_.TSC0, Local0)
}
Else
{ …Run Code Online (Sandbox Code Playgroud) 我有一个C语言应用程序,我需要进行表查找.
条目是字符串,所有在运行时开始时都是已知的.该表初始化一次,然后多次查找.该表可以更改,但它基本上就像应用程序重新开始一样.我想这意味着我可以使用完美哈希?可以花一些时间进行哈希表初始化,因为它只发生一次.
将有3到100,000个条目,每个条目都是唯一的,我估计80%的案例将少于100个条目.在这些情况下,简单的天真查找"足够快".(==没有人在抱怨)
但是,在有10k +条目的情况下,天真方法的查找速度是不可接受的.在C中为字符串提供良好的基于散列表的查找性能的好方法是什么?假设我没有像Boost/etc这样的第三方商业图书馆.我应该使用什么哈希算法?我该如何决定?
我想在TreeView中显示任意XML,扩展和折叠节点,显示元素名称和属性集及其值.我想我可以使用HierarchicalDataTemplate来做到这一点.
我已经看到使用HierarchicalDataTemplate显示任意XML 元素和文本节点的提示,如下所示:
<Window.Resources>
<HierarchicalDataTemplate x:Key="NodeTemplate">
<TextBlock x:Name="tbName" Text="?" />
<HierarchicalDataTemplate.ItemsSource>
<Binding XPath="child::node()" />
</HierarchicalDataTemplate.ItemsSource>
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=NodeType}" Value="Text">
<Setter TargetName="tbName" Property="Text" Value="{Binding Path=Value}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=NodeType}" Value="Element">
<Setter TargetName="tbName" Property="Text" Value="{Binding Path=Name}"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
<XmlDataProvider x:Key="xmlDataProvider">
</XmlDataProvider>
</Window.Resources>
....
<TreeView Name="treeView1"
ItemsSource="{Binding Source={StaticResource xmlDataProvider}, XPath=*}"
ItemTemplate= "{StaticResource NodeTemplate}"/>
Run Code Online (Sandbox Code Playgroud)
哪个效果很好.它显示每个元素的元素名称和文本.但我的XML使用属性来传递信息.模式很复杂,我没有正式的定义,所以现在我将它视为任意XML.
最简单的文档如下所示:
<c4soap name="GetVersionInfo" seq="" result="1">
<versions>
<version name="Director"
version="2.1.0.126418"
buildtype=""
builddate="Jun 1 2011" buildtime="14:52:43" />
<version name="MediaManager"
version="2.1.0.126418"
buildtype=""
builddate="Jun 1 2011"
buildtime="14:36:17" />
</versions>
</c4soap> …Run Code Online (Sandbox Code Playgroud) 假设我查询这样的数据库:
import adodbapi
conn = adodbapi.connect(connStr)
tablename = "[salesLT].[Customer]"
cur = conn.cursor()
sql = "select * from %s" % tablename
cur.execute(sql)
result = cur.fetchall()
Run Code Online (Sandbox Code Playgroud)
我认为,结果是一系列SQLrow对象.
如何获取查询返回的列名列表或序列?
我认为它是这样的:
row = result[0]
for k in row.keys():
print(k)
Run Code Online (Sandbox Code Playgroud)
......但.keys()不是吗.
也不 .columnNames()