c# - 蛮力- c#

标签 c# textbox brute-force

我试着做了简单的暴力算法。它工作正常。但我正在看这个视频

http://www.youtube.com/watch?v=v2xwficgRYk&feature=relmfu

(时间 10:30)正如您在 textbox2 中看到的那样,可能性发生了变化。但是在我的程序中。我创建了 1323 作为密码,然后当我单击 brute 时,我等了 5 秒,在 textbox2 中得到 99999,在 textbox3 中得到 1323。为什么我不能像在视频中那样看到 textbox2 中的数字流?

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    } 

    int a, b;

    private void button1_Click(object sender, EventArgs e)
    {
        a = Convert.ToInt16(textBox1.Text);
    }

    private void button2_Click_1(object sender, EventArgs e)
    {
        for (int i = 0; i < 100000; i++) 
        {
            textBox2.Text = "" + i;
            if (a == i) textBox3.Text = "" + i; 
        }
    }
}

最佳答案

那是因为视频中的程序在单独的线程中运行暴力循环。

在您的程序中,循环在主线程中运行,因此只要它在运行,就没有线程在监视所有用户界面更新发生的消息泵。

每当文本框的 Text 属性发生变化时,消息队列中就会有一条消息丢弃,提示文本框需要重新绘制以显示值,但主线程正忙于运行循环并且在循环完成之前不会对消息进行操作。

关于c# - 蛮力- c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923007/

相关文章:

c# - 如何使函数异步运行

c# - 从大字符串中删除数字时出现性能问题

c# - 多线程中 SaveOrUpdate 上的 NHibernate TransientObjectException

c# - 在运行时创建一个类

javascript - 允许人们仅更改输入 JavaScript 中的某些值

excel - Excel VBA 中的文本框提示文本

java - 如何捕获 GWT TextBox KeyDown 重复

python - 将 4 色定理应用于图形数组中存储的相邻多边形列表

c++ - 找到气体容器的最小必要体积

php - 防止蛮力攻击的最佳方法是什么?