| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1929 人关注过本帖
标题:新手问一下随机数的显示到textbox的问题?
只看楼主 加入收藏
ggwfnh
Rank: 1
等 级:新手上路
帖 子:24
专家分:4
注 册:2009-9-18
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:9 
新手问一下随机数的显示到textbox的问题?
具体请看到我下面的图片。
我在网上找了一个生成随机数的代码。。
然后建了拖了一个textbox 和 button控件到图形界面里面

我要点button  就生成25个随机数。
然后在textbox里面显示 出来怎么改?
主要是那个显示我语句怎么写,放在什么地方???

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: textbox 随机数 
2009-09-23 11:00
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:10 
双击button1按钮。
添加事件处理方法。即你单击一下按钮要执行什么操作。

在这个处理方法里面调用Str_Char方法。

例如:
this.textBox1.Text = Str_Char(10, true);
2009-09-23 11:31
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
收藏
得分:3 
这个很简单啊:


        private void btnRandom_Click(object sender, EventArgs e)
        {
            MessageBox.Show(StrRandom(25,true));
        }

参数Length就代表要生成的随机数的个数。

[ 本帖最后由 飙马 于 2009-9-23 11:43 编辑 ]

IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2009-09-23 11:41
ggwfnh
Rank: 1
等 级:新手上路
帖 子:24
专家分:4
注 册:2009-9-18
收藏
得分:0 
以下是引用zhoufeng1988在2009-9-23 11:31的发言:

双击button1按钮。
添加事件处理方法。即你单击一下按钮要执行什么操作。

在这个处理方法里面调用Str_Char方法。

例如:

我试过了,不得行呢??
错误    1    当前上下文中不存在名称“Str_Char”    d:\My Documents\Visual Studio 2008\Projects\WindowsFormsApplication3\WindowsFormsApplication3\Form1.cs    29    34    WindowsFormsApplication3

图片附件: 游客没有浏览图片的权限,请 登录注册

2009-09-23 11:48
ggwfnh
Rank: 1
等 级:新手上路
帖 子:24
专家分:4
注 册:2009-9-18
收藏
得分:0 
以下是引用飙马在2009-9-23 11:41的发言:

这个很简单啊:


        private void btnRandom_Click(object sender, EventArgs e)
        {
            MessageBox.Show(StrRandom(25,true));
        }

参数Length就代表要生成的随机数的个数。

错误    1    当前上下文中不存在名称“StrRandom”    d:\My Documents\Visual Studio 2008\Projects\WindowsFormsApplication3\WindowsFormsApplication3\Form1.cs    52    28    WindowsFormsApplication3

图片附件: 游客没有浏览图片的权限,请 登录注册
2009-09-23 11:51
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
额...   
   
彪马说的是一个方法啦,并不是让你直接写进去的嘛。   
   
呵呵..那个函数应该是你定义的那个函数名嘛。加把劲哥们。   
   

   
this.textBox1.Text = Str_char(10, true);
2009-09-23 13:25
Mo诫
Rank: 4
等 级:业余侠客
帖 子:80
专家分:223
注 册:2009-7-29
收藏
得分:0 
他们说的是对的!只是没有看清你写的代码!你的str_char 是静态的就不能直接那样访问的要写成:
this.rtbStochastic.Text = Stochastic.str_char(10,true);//通过类去访问

另外你的数组赋值写的不够好!最好用循环写进去:

            int Setnum = 65;//A的Ascii码值是65
            char Getletter;//获取Ascii对应的字母
            char[] Pattern = new char[26];
            for (int i = 0; i < 26; i++)
            {
                Getletter = (char)Setnum; //把Ascii值转换为对应的字母
                Pattern[i] = Getletter;
                Setnum = Setnum + 1;
            }

下面的是我对你的程序做了改动后的代码希望对你有帮助:
namespace KinroStudy
{
    public partial class Stochastic : Form
    {
        public Stochastic()
        {
            InitializeComponent();
        }
        #region & 成生随机数
        public static string str_char(int Length, bool Sleep)
        {
            if (Sleep)
            {
                System.Threading.Thread.Sleep(3);//阻止线程指定时间
            }
            #region & 成生数组值
            int Setnum = 65;//A的Ascii码值是65
            char Getletter;//获取Ascii对应的字母
            char[] Pattern = new char[26];
            for (int i = 0; i < 26; i++)
            {
                Getletter = (char)Setnum;
                Pattern[i] = Getletter;
                Setnum = Setnum + 1;
            }
            #endregion
 
            string Result = "";
            int GetLength = Pattern.Length;
            System.Random myrandom = new Random(~unchecked((int)DateTime.Now.Ticks));
 
            for (int j = 0; j < Length; j++)
            {
                int Rnd = myrandom.Next(0, GetLength);
                Result += Pattern[Rnd];
            }
            return Result;
 
        }
        #endregion
        private void btngo_Click(object sender, EventArgs e)
        {
            int Setlength =this.textBox1.Text.ToString().Trim().Length;
            if (Setlength > 26)
            {
                MessageBox.Show("请输入1-26的数字!");
                this.textBox1.Clear();
                this.textBox1.Focus();
            }
            else
            {
                this.rtbStochastic.Text = Stochastic.str_char(Setlength, true);
            }
        }
 
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            char key = e.KeyChar;
            if (!char.IsDigit(key) && key != 8)
            {
                e.Handled = true;
;
            }
        }
    }
}
收到的鲜花
  • zhoufeng19882009-09-23 13:40 送鲜花  2朵   附言:给我的朋友加分喽! 你真棒!
2009-09-23 13:34
zhaoxili
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:327
专家分:479
注 册:2009-1-3
收藏
得分:0 
呵呵 哥们  不是直接写  

this.textBox1.Text = Str_char(10, true);   

Str_char  是你自己定义的 你看看你定义的方法是什么  替换就可以了啊
2009-09-23 13:35
Mo诫
Rank: 4
等 级:业余侠客
帖 子:80
专家分:223
注 册:2009-7-29
收藏
得分:7 
不好意思。。出了点小错!这是修改后的!
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace KinroStudy
{
    public partial class Stochastic : Form
    {
        public Stochastic()
        {
            InitializeComponent();
        }
        #region & 成生随机数
        public static string str_char(int Length, bool Sleep)
        {
            if (Sleep)
            {
                System.Threading.Thread.Sleep(3);//阻止线程指定时间
            }
            #region & 成生数组值
            int Setnum = 65;//A的Ascii码值是65
            char Getletter;//获取Ascii对应的字母
            char[] Pattern = new char[26];
            for (int i = 0; i < 26; i++)
            {
                Getletter = (char)Setnum;
                Pattern[i] = Getletter;
                Setnum = Setnum + 1;
            }
            #endregion
 
            string Result = "";
            int GetLength = Pattern.Length;
            System.Random myrandom = new Random(~unchecked((int)DateTime.Now.Ticks));
 
            for (int j = 0; j < Length; j++)
            {
                int Rnd = myrandom.Next(0, GetLength);
                Result += Pattern[Rnd];
            }
            return Result;
 
        }
        #endregion
        private void btngo_Click(object sender, EventArgs e)
        {
            string Getlength =this.txbLength.Text.ToString().Trim();
            int Setlength=Convert.ToInt16(Getlength);
            if (Setlength >26)
            {
                MessageBox.Show("请输入1-26的数字!");
                this.txbLength.Clear();
                this.txbLength.Focus();
            }
            else
            {
                this.rtbStochastic.Text = Stochastic.str_char(Setlength, true);
            }
        }
 
        private void txbLength_KeyPress(object sender, KeyPressEventArgs e)
        {
            char key = e.KeyChar;
            if (!char.IsDigit(key) && key != 8)
            {
                e.Handled = true;
;
            }
        }
 
    }
}
2009-09-23 13:47
ggwfnh
Rank: 1
等 级:新手上路
帖 子:24
专家分:4
注 册:2009-9-18
收藏
得分:0 
谢谢楼上的几个兄弟了,我搞起出来了  我是用的vs2008来编写c#

原来是我的操作方法不对。
我把那个原来的控件删了。重新拉了2个控件。

textbox1  和button1

然后双击button1
进入代码模式,在中间写入了zhoufeng1988说的


this.textBox1.Text = Str_Char(10, true);

就可以了。
呵呵。我是新手,不要笑我哈,。
2009-09-23 22:31
快速回复:新手问一下随机数的显示到textbox的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027745 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved