189 8069 5689

vb.net编写随机抽奖 vb抽奖程序代码随机获取1180随机整数

VB设计一个随机抽奖程序,当单击开始按钮时,在两个文本框产生【1,20】之间的随机整数?

假定开始按钮是 Command1,两个文本框分别是 Text1、Text2

成都创新互联是一家集网站建设,城中企业网站建设,城中品牌网站建设,网站定制,城中网站建设报价,网络营销,网络优化,城中网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

Private Sub Command1_Click()

Randomize

Text1.Text = Int(Rnd * 20) + 1

Text2.Text = Int(Rnd * 20) + 1

End Sub

vb.net 多次滚动抽奖的程序代码

我用多线程写的,你可以参考下。

系统界面图如下:(注:重置功能为清除已经中奖号码,回归1-100都可以中奖状态。)

代码:

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

System.Threading.Thread g_Thread = null;

Listint g_list = new Listint();

int g_Num = 0;

delegate void g_delegate();

/// summary

/// 开始

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void button2_Click(object sender, EventArgs e)

{

if(g_list.Count==100)

{

MessageBox.Show("所有数字已使用,请重置!");

return;

}

button3.Enabled = true;

Random r = new Random();

g_delegate dele= ChangeTxt;

g_Thread = new System.Threading.Thread(() =

{

while(this.IsDisposed==false)

{

g_Num = r.Next(1, 100);

if(g_list.Contains(g_Num))

{

g_Num =  1;

}

while(g_list.Contains(g_Num))

{

g_Num++;

}

this.Invoke(dele);

System.Threading.Thread.Sleep(50);

}

});

g_Thread.Start();

}

void ChangeTxt()

{

label2.Text = g_Num.ToString();

}

/// summary

/// 停止

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void button3_Click(object sender, EventArgs e)

{

//if(g_Thread.ThreadState==System.Threading.ThreadState.Running)

{

g_Thread.Abort();

g_list.Add(Convert.ToInt32(label2.Text));

}

button3.Enabled = false;

}

/// summary

/// 重置

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void button1_Click(object sender, EventArgs e)

{

g_list.Clear();

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)

{

System.Environment.Exit(0);

}

}

VB编写一个抽奖小程序,要求每次抽奖的数字不重复

Dim n As Integer

Dim a()

Private Sub Command1_Click()

If n = 0 Then            '第一次点击时执行

m = Val(Text1)

ReDim a(1 To m)

For i = 1 To m      '生成数组a,元素为1至m这m个数

a(i) = i

Next

For i = 1 To m - 1             '随机打乱数组a中元素

r = Int(Rnd * m + 1)

tmp = a(i)

a(i) = a(r)

a(r) = tmp

Next

End If

n = n + 1                 '计数点击次数

If n  Val(Text1) Then    '次数超过指定次数,抽奖结束

MsgBox "抽奖结束!"

Exit Sub

End If

Text2 = a(n)              '从数组中抽出第n个数,由于数组中是随机排列,所以相当于生成一个随机数,并且不会重复

End Sub

VBNET编写抽奖软件程序

把你的代码发出来。

你这种方式的程序只能弄一等奖吧,为什么会有二等奖三等奖?

获奖次数跟电话号码什么关系,为什么不能重复?同一个号码不能多次获奖?那就不是重复的问题,你的提问有些不清不楚。

暂定的解决方案——

把随机生成的电话号码,赋值给公共数组,如果公共数组中存在新生成的电话号码,那么重新生成电话号码,如果电话号码不在数组中存在,那么将电话号码加入到数组中。重复以上过程,直至喊停。


标题名称:vb.net编写随机抽奖 vb抽奖程序代码随机获取1180随机整数
文章转载:http://jkwzsj.com/article/ddcohds.html

其他资讯