我用多线程写的,你可以参考下。
创新互联公司专注于涞源企业网站建设,响应式网站开发,商城建设。涞源网站建设公司,为涞源等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
系统界面图如下:(注:重置功能为清除已经中奖号码,回归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);
}
}
将RTF的Padding设置比较大,例如10,此时我发现鼠标移动到RTF的边缘部分的时候(不超过Padding的范围),滚动条就能够显示,一旦鼠标移动到Content里面的时候,滚动条就不显示
1、滚动条分为水平滚动条(HSCROLLBAR)和垂直滚动条(VSCROLLBAR)两种,可以作为输入设备或者速度、数量的指示器来使用.
2、基本属性:object.max[=value],object.min[=value],最大最小范围 object.value[=value],
1、新建一个工程,调整好软件的界面大小。
2、给界面里面添加一个图片。
3、然后点击滚动条。画到界面里面,就像这样。这样界面就构建好了。
4、接下来给图片空间添加图片,拉动右边的滚动条,找到picture。
5、在picture右边的按钮给他添加图片。
6、拉动滚动条,找到autoredraw,和autosize进行设置。
7、在右上角选择scroll,输入相应代码。
8、运行一下。
你好!
Textbox属性中有一个scrollBars的属性,调一下就行了
打字不易,采纳哦!