小编spy*_*der的帖子

为什么Tk帆布这么慢?

我使用Perl和TK编写了元胞自动机(Conway的生命游戏),只是为了娱乐和练习.它适用于控制台输出.当我使用TK时,在第一个版本中我只删除并添加新单元格(矩形),大约100步后我的程序减慢了(大约10次).然后我重写了图形部分:最初制作所有2500个单元格(50x50),然后改变颜色而不是添加/删除它们.但经过600-700步后,我重新设计的自动机也开始减速.

这是传统知识的特征/错误还是我做错了什么?

按标签更改颜色:

$canvas->itemconfigure("cell"."$x $y", -fill=>'blue');
Run Code Online (Sandbox Code Playgroud)

创建网格:

for($y = 0; $y < 50; $y++)
{
    for($x = 0; $x < 50; $x++)
    {
        $canvas->createRectangle($x * 10, $y * 10, ($x + 1) * 10, ($y  + 1) * 10, -fill=>'white', -tags=>["cell"."$x $y"]);
    }
}
Run Code Online (Sandbox Code Playgroud)

启动和停止循环:

sub start
{
    $repeat = $MainWindow->repeat($speed, sub{&maketurn;});
    # Function "maketurn" is not important, it is a simple counting of "alive" cells
    # and changing color by tag
}

sub stop
{
    if(defined($repeat))
    {
        $repeat->cancel();
    } …
Run Code Online (Sandbox Code Playgroud)

perl tk-toolkit

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

在DataGridView中自动滚动

当我向窗体上最后一个可见行下面的单元格添加值时,可以执行自动滚动吗?我在DataGridView中找不到任何自动滚动属性.是唯一可行的方法来查找最后一个可见单元格的索引并更改FirstDisplayedScrollingRowIndex吗?

c# datagridview winforms

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

标签 统计

c# ×1

datagridview ×1

perl ×1

tk-toolkit ×1

winforms ×1