小编aid*_*dan的帖子

超慢C#自定义控件

我做了一个自定义控件,它是一个FlowLayoutPanel,我在其中放了一堆其他自定义控件(只是按钮,每个都有三个标签和一个PictureBox叠加)

它可以正常使用大约100个按钮,但是最多可以达到1000个按钮并且它有问题.撞到高达5000并且它在20秒后死亡.

我有很少的自定义代码,我明智地使用暂停和恢复布局.

那么我做错了什么?我确信我的(相当快速的)计算机应该能够处理几千个按钮和标签.

(我对C#GUI很新,所以也许我应该做的事情完全不同.)

编辑1:

这几乎是目前唯一的自定义代码:

flowLayoutPanel1.SuspendLayout();
foreach (DataRow row in dt.Rows) // dt is from a DB query
{
    flowLayoutPanel1.Controls.Add(new PersonButton(row));
}
flowLayoutPanel1.ResumeLayout();
Run Code Online (Sandbox Code Playgroud)

并在PersonButton构造函数中:

this.label1.Text = row["FirstName"].ToString().Trim() + " "
    + row["Surname"].ToString().Trim();
Run Code Online (Sandbox Code Playgroud)

(还应该附上图片,但我不确定是否有人能看到它.)

编辑2:

我想我应该使用DataGridView或ListView,但我想要的不仅仅是一行文本和每行一个小图标; 我希望它看起来类似于firefox中的下载视图(Ctrl + J).(见截图)

非常感谢您的所有投入,BTW.我想我必须重新思考......

alt text http://img156.imageshack.us/img156/1057/capture.png

c# optimization user-controls

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

获取Template :: Plugin :: Date接受MySQL日期和日期时间

我正在使用Template :: Toolkit的日期插件(Template :: Plugin :: Date),它适用于直接从MySQL中取出的日期时间(yyyy-mm-dd hh:mm:ss),但它不起作用与日期(yyyy-mm-dd).

获取date.format以接受日期(不修改sql查询)的最简单方法是什么?

谢谢.

mysql perl datetime date template-toolkit

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

SQL Server相当于这个MySQL排序子句

我想基于两个VARCHAR列我的结果进行排序COL_ACOL_B.

如果值COL_A('val1', 'val2', 'val3'),我希望它的出现在顶部,否则,我希望它出现在底部.然后,我想在COL_B上做一个简单的词典排序.在MySQL中,我会这样做:

ORDER BY IF(COL_A IN ('val1', 'val2', 'val3'), 0, 1), COL_B
Run Code Online (Sandbox Code Playgroud)

但这在SQL Server 2008中不起作用.是否有等价的?

sql t-sql sql-server sql-server-2008

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

Perl:为ORDER BY子句使用DBI占位符

我可以在准备好的语句中使用占位符来查询我的查询的order by子句吗?

我猜不是,因为我尝试了,它似乎没有用,但它也没有抛出任何错误,这看起来很奇怪.

有没有更好的方法来做到这一点,除了生成带有验证输入的SQL字符串?

perl prepared-statement dbi

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

逃离linux cli for循环

我正在做这样的事情:

for f in `find -iname '*.html'`; do scp $f remoteserver:$f; done;
Run Code Online (Sandbox Code Playgroud)

我已经通过了1000个文件中的大约3个,我已经决定要中止操作了.

CTRL + C仅转义SCP登录提示并将我带到下一个,而不是转义for循环.

有没有比击中CTRL + C 9997次更好的方法?

谢谢!

linux bash command-line-interface

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

MySQL截断挂起

我试图截断一个300,000行的表.当没有其他查询正在运行时,我运行截断查询,它只是挂起.

show processlist; 说国家正在"更新".

服务器版本:5.1.41-3ubuntu12.8(Ubuntu)

该表是InnoDB.

任何想法为什么会发生这种情况,或者我如何进一步调查问题?

谢谢.

mysql innodb truncate hang

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

Ruby net sftp 上传文件到相对路径

我想使用相对路径将文件上传到远程 sftp 服务器。例如,我希望能够上传到sftp://myserver.com/FileStore. 我尝试使用以下代码但它不起作用:注意:主机是myserver.com/FileStore

uri = URI.parse('sftp://' + host)
Net::SFTP.start(uri.host,username,:password=>password,:port=>port) do |sftp|
                    sftp.upload(testupload.zip,"#{uri.path}/testupload.zip")
                end
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Net::SFTP::StatusException open /FileStore/testupload.zip (2, "no such file")
Run Code Online (Sandbox Code Playgroud)

ruby net-sftp

0
推荐指数
1
解决办法
6103
查看次数

为什么<form>元素不能是<tbody>的子元素?

以下HTML无效,有效的替代方法是将form标签放在table标签之外。我的问题是为什么决定将其定为非法。

 <table>
   <tbody>
     <form>
       <tr>
         <td></td>
         <td></td>
       </tr>
     </form>
   </tbody>
 </table>
Run Code Online (Sandbox Code Playgroud)

html html-validation

0
推荐指数
1
解决办法
4978
查看次数