小编Che*_*eso的帖子

WinForms RichTextBox:如何异步重新格式化,而不触发TextChanged事件

这是对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)

.net multithreading richtextbox manualresetevent winforms

6
推荐指数
1
解决办法
3020
查看次数

在C#中实现Comet服务器

我想知道是否有办法在C#中编写一个彗星服务器.我有一个定期生成数据的C#代码,我想将这些数据推送到java应用程序.所以想将我的C#代码转换为彗星服务器.还想知道是否有任何实现的彗星服务器允许我们将C#应用程序和Java应用程序连接到它,以便C#应用程序可以通过彗星服务器将信息传递给Java应用程序.数据推送频率会很高,但单个消息的大小非常小:字符串值.

c# java interop comet

6
推荐指数
1
解决办法
2677
查看次数

WPF:依赖属性与常规CLR属性的区别是什么?

在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隐式设置的吗?这是它的关键吗?

wpf dependency-properties

6
推荐指数
3
解决办法
8277
查看次数

SHA-2在各种平台上的支持状态如何?

我读到SHA-1正在退出FIPS 180-2标准.

显然,SHA-1的弱点导致了这一决定.谁能详细说明这个决定的基础?在商业应用中使用SHA-1会有什么影响吗?

我真正的问题是:

  • 各种类库和平台中SHA-2支持的状态是什么?
  • 我应该尝试转向SHA-2吗?

对主流平台感兴趣:.NET,Java,C/C++,Python,Javascript等.

security hash sha2

6
推荐指数
1
解决办法
2788
查看次数

CSS:是否有可能获得100%高度的div,而不是顶部和底部边距?

我可以得到一个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)

html css

6
推荐指数
1
解决办法
2683
查看次数

emacs:是否有语义跳转到声明(使用semantic.el)?

假设我正在编辑一个包含C代码的缓冲区.

我已经开始语义化semantic-load-enable-code-helpers.

我有点放在函数的名称上.如果我然后调用,senator-jump我可以跳转到该模块中首次声明该fn的位置.如果该模块中存在extern声明,那么它将转到该extern语句.有时?但有时它不起作用.

还有semantic-ia-fast-jump,跳到第一个声明,也.我不确定这个fn有何不同senator-jump.但是,对于本地缓冲区中定义的函数,这个实际上始终有效.

如果它想要跳转到的功能怎么样呢?如果该定义存在于一个单独的模块中,是否可以使用参数来跳转到fn的定义?EDE不应该做这样的事吗?

谢谢.

c emacs

6
推荐指数
1
解决办法
3512
查看次数

帮我解读一下这个ACPI源语言代码?

我使用这个.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)

windows acpi asl dsdt

6
推荐指数
1
解决办法
3416
查看次数

散列表查找 - 使用完美散列,在C中

我有一个C语言应用程序,我需要进行表查找.

条目是字符串,所有在运行时开始时都是已知的.该表初始化一次,然后多次查找.该表可以更改,但它基本上就像应用程序重新开始一样.我想这意味着我可以使用完美哈希?可以花一些时间进行哈希表初始化,因为它只发生一次.

将有3到100,000个条目,每个条目都是唯一的,我估计80%的案例将少于100个条目.在这些情况下,简单的天真查找"足够快".(==没有人在抱怨)

但是,在有10k +条目的情况下,天真方法的查找速度是不可接受的.在C中为字符串提供良好的基于​​散列表的查找性能的好方法是什么?假设我没有像Boost/etc这样的第三方商业图书馆.我应该使用什么哈希算法?我该如何决定?

c hashtable perfect-hash

6
推荐指数
1
解决办法
1776
查看次数

如何使用HierarchicalDataTemplate显示XML元素和属性?

我想在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)

wpf treeview hierarchicaldatatemplate

6
推荐指数
1
解决办法
5233
查看次数

如何从adodbapi查询返回的行中获取列名?

假设我查询这样的数据库:

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()

python adodbapi

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