一个buttion控制两个textBox的问题

问题描述

publicclassDrawOutTheme{publicRandomRandomizer;publicintValue;publicTextBoxTextBox=null;publicvoidRandomValue(){Randomizer=newRandom();Value=Randomizer.Next(1,100);TextBox.Text=Convert.ToString(Value);}}privatevoidbutton1_Click(objectsender,EventArgse){DrawOutTheme[]DrawOut=newDrawOutTheme[2];DrawOut[0]=newDrawOutTheme(){TextBox=textBox1};DrawOut[1]=newDrawOutTheme(){TextBox=textBox2};DrawOut[0].RandomValue();DrawOut[1].RandomValue();}当按buttion1时两个textbox的随机是相同的怎么按buttion时是两个textbox的随机数是不相同的求大神帮助

解决方案

解决方案二:
暂停线程
解决方案三:
privatevoidbutton1_Click(objectsender,EventArgse){inta=RandomValue();intb=RandomValue();while(a==b){b=RandomValue();}textBox1.Text=Convert.ToString(a);textBox2.Text=Convert.ToString(b);}publicintRandomValue(){returnnewRandom().Next(1,100);}

解决方案四:
之所以和一样,是因为你是同时创建DrawOutTheme,而且是同时调用RandomValue方法在中间加一句Thread.Sleep(100);但这样还是会出现一样的,只是几率下小一点DrawOutTheme[]DrawOut=newDrawOutTheme[2];DrawOut[0]=newDrawOutTheme(){TextBox=textBox1};DrawOut[0].RandomValue();Thread.Sleep(100);DrawOut[1]=newDrawOutTheme(){TextBox=textBox2};DrawOut[1].RandomValue();
解决方案五:
引用1楼javaoraspx的回复:

暂停线程

就是这个意思
解决方案六:
publicclassDrawOutTheme{publicRandomRandomizer=newRandom();publicintValue;publicTextBoxTextBox=null;publicvoidRandomValue(){Value=Randomizer.Next(1,100);TextBox.Text=Convert.ToString(Value);}}privatevoidbutton1_Click(objectsender,EventArgse){DrawOutTheme[]DrawOut=newDrawOutTheme[2];DrawOut[0]=newDrawOutTheme(){TextBox=textBox1};DrawOut[1]=newDrawOutTheme(){TextBox=textBox2};DrawOut[0].RandomValue();DrawOut[1].RandomValue();}将Randomizer=newRandom()这一句话放到publicRandomRandomizer=newRandom()即可
解决方案七:
引用4楼chinajiyong的回复:

引用1楼javaoraspx的回复:暂停线程就是这个意思

如何暂停线程??
解决方案八:
引用6楼hghjxzj的回复:

引用4楼chinajiyong的回复:引用1楼javaoraspx的回复:暂停线程就是这个意思如何暂停线程??

看3楼代码
解决方案九:
进来学习了,VC里面的redom记得可以指定一个参数
解决方案十:
随机数的种子默认情况下是取当前时间的,因为创建两个Random的时间几乎相同,所以产生的随机数也相同。有两个方法可以解决这个问题:1、用Random(int)这个构造函数为每个DrawOutTheme实例指定一个不同的值,比如可以利用Guid的随机性。Randomizer=newRandom(Guid.NewGuid().GetHashCode())2、所有DrawOutTheme实例共享一个Random对象,也就是将Randomizer提升为类的静态成员,然后在类的构造函数里取消对其赋值的操作。staticRandomizer=newRandom()
解决方案十一:
引用2楼porschev的回复:

C#codeprivatevoidbutton1_Click(objectsender,EventArgse){inta=RandomValue();intb=RandomValue();while(a==b){……

12313123
解决方案十二:
该回复于2012-03-23 09:40:23被版主删除
解决方案十三:
改成这样就可以了publicclassDrawOutTheme{publicRandomRandomizer;publicintValue;publicTextBoxTextBox=null;publicvoidRandomValue(){Value=Randomizer.Next(1,100);TextBox.Text=Convert.ToString(Value);}}privatevoidbutton1_Click(objectsender,EventArgse){Randomizer=newRandom();DrawOutTheme[]DrawOut=newDrawOutTheme[2];DrawOut[0]=newDrawOutTheme(){TextBox=textBox1};DrawOut[1]=newDrawOutTheme(){TextBox=textBox2};DrawOut[0].RandomValue();DrawOut[1].RandomValue();}

时间: 2024-08-26 18:16:21

一个buttion控制两个textBox的问题的相关文章

vc60-VC(MFC)串口调试界面添加一个按钮控制两种颜色变换的指示灯。谢谢!!!

问题描述 VC(MFC)串口调试界面添加一个按钮控制两种颜色变换的指示灯.谢谢!!! 用MFC做出来一个只能发送和接受的界面之后,需要添加一个或两个按钮控制两种颜色变换.请问是指示灯吗?代码怎么写?谢谢. 解决方案 直接放一个static控件,准备两个图片,一个红灯一个绿灯 直接画http://blog.csdn.net/lujianfeiccie2009/article/details/7281996 当然,也可以不用先准备图片,而直接通过画圆.填充绘制出灯.

mfc-vc6.0怎么用一个按钮控制两个图片

问题描述 vc6.0怎么用一个按钮控制两个图片 本来是图片1,按下按钮后就变成图片2,再按就是图片1,如此来回切换 解决方案 变量一个全局的 BOOL 型变量,每按一次按键这个 BOOL 变量取反.然后,根据 BOOL 变量的数值来控制显示哪一张图片. 解决方案二: vc如何在按钮上显示一个图片VC++6.0 一个简单的图片按钮示例VC++6.0 一个简单的图片按钮示例 解决方案三: 申请个bool型的标识变量,按一下按钮先判断这个变量如果是true就贴图片1,false就贴图片2,然后再将这个

两个textbox与两个gridview

问题描述 一个页面,两个textbox:textbox1.textbox2,两个button:button1.button2,两个gridview:gridview1.gridview2. 需要实现的效果:按下button1,让gridview1根据textbox1中的内容进行数据显示,而gridview2,没有反应:反之,按下button2,gridview2的内容进行变动,gridview1没有变化. 主要的问题:如何让gridview1响应button1和textbox1. 我是菜鸟,请给

点击datagrid中的一行,将这一行的某两列中的一个字符串取出,然后显示在两个textbox中然后再另一页返回来,如何实现?

问题描述 点击datagrid中的一行,将这一行的某两列中的一个字符串取出,然后显示在两个textbox中然后再另一页返回来,如何实现? 解决方案 解决方案二:已经解决

jquery控制两个div中二级分类显示

问题描述 jquery控制两个div中二级分类显示 <div class="n_nav clearfix">这个里面是一级分类 <p class="navigation_column">型号</p><ul class="ul2">这个里面放的是二级的分类 想问的就是如何能够控制二级分类的显示问题, 解决方案 不知是不是你想要的,可以粘过去试试 <%@ page language="j

C#如何用一个串口接收两个以上变量的数据

问题描述 ]刚开始学C#没多久,想用串口接收两个变量的数据分别显示在两个textBox里.比如温度和湿度的数据.单独传输一个我会写,但不知道两个的该怎么写,请赐教,谢谢. 解决方案 解决方案二:用serialport这个组件,然后在DataReceived事件里面接收数据,事件里面bytestoread读取长度,然后read事件读数据,接收到一帧完整数据后解析出来,放到你的控件里面就行了解决方案三:1.串口通讯,需要先设置串口的基本配置参数如com口,波特率.奇偶校验位等.2.和数据发送方,核对

施乐-Java 输出格式,怎么令所有的宽度都由一个常量控制?

问题描述 Java 输出格式,怎么令所有的宽度都由一个常量控制? 新手求大神指点 例如: System.out.printf ( " %15s %10.2f n" ,String1, Float1); 这一句里,String 的输出宽度是 15 , Float1 的输出宽度是 10. 我希望,输出宽度都能够由一个常量控制,类似: int width=9; System.out.printf (" %widths %widthf n", String1,Float1

C# Winfrom项目,如何在from窗体中控制两个timer控件时间的同步显示

问题描述 C# Winfrom项目,如何在from窗体中控制两个timer控件时间的同步显示 在C# Winfrom项目中,一个from窗体,两个timer控件(timer1和timer2),两个Label控件(labe1和label2), timer1是实现0到1分钟的倒计时显示在显示labe1中,timer2是实现到1分钟后自动显示当前时间到label2中. 两个button控件(button1和button2).button1和button2分别控制timer1的开始和暂停. timer1

textchanged事件-如何实现两个textbox的text根据数学关系联动?

问题描述 如何实现两个textbox的text根据数学关系联动? 比如,一个textbox输入值后,另一个textbox计算出其百分比(利用一个已知数): 另一个textbox输入百分比后,一个textbox计算出其值.两个textbox只需要输入其中一个. 在一个textbox的textchanged事件里面编码对另一个textbox进行赋值,会形成无限循环.请教有什么好的办法? 解决方案 private bool inchange = false; void textbox1_textcha