vb.net做抽奖软件 vb制作抽奖程序代码

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制作一个抽奖型的转盘

这是一个转盘 转到的位置是随机的 具体奖品需要你自己定 我就不帮你了..... 这一句 If c 95 Then Timer1.Interval = 0 这个95 改的越小 停的越快,转到的位置重复的几率也就越大 . 代码细看看, 数值都是活的 可以根据自己需要改.

'添加控件 timer1 command1 line1

Dim x1%, y1%

Dim a As String

Private Sub Command1_Click()

a = 0

Timer1.Interval = 50

End Sub

Private Sub form_load()

Me.AutoRedraw = True

x1 = Me.Width \ 2

y1 = (Me.Height - 405) \ 2

Line1.x1 = x1: Line1.y1 = y1

Me.DrawWidth = 5

Me.Circle (x1, y1), 3000

Line1.BorderWidth = 5

Line1.BorderColor = QBColor(14)

End Sub

Private Sub Timer1_Timer()

Randomize

c = Int((100) * Rnd + 1)

a = a + 1

If a 24 Then Timer1.Interval = 100

If a 40 Then Timer1.Interval = 200

If a 48 Then

Timer1.Interval = 300

If c 95 Then Timer1.Interval = 0

End If

b = (3.14 / 8) * a

Line1.X2 = Line1.x1 + (3000 * Sin(b))

Line1.Y2 = Line1.y1 - (3000 * Cos(b))

End Sub

VBNET编写抽奖软件程序

把你的代码发出来。

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

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

暂定的解决方案——

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


名称栏目:vb.net做抽奖软件 vb制作抽奖程序代码
本文网址:http://pwwzsj.com/article/dojcosp.html