一个c#Framework模拟堆栈的程序
2009-02-18 20:30
211 查看
public partial class PLAY : Form
{
//声名三个数组
private ArrayList _leftList = new ArrayList();
private ArrayList _rightList = new ArrayList();
private ArrayList _centerList = new ArrayList();
public PLAY()
{
InitializeComponent();
// skinEngine1.SkinFile = "SteelBlack.ssk"; //引用特效皮肤
}
/// <summary>
/// //左边列表框实现文本
/// </summary>
public void MoveLef()
{
foreach (String str1 in _leftList)
{
leftList.Items.Add(str1);
}
}
/// <summary>
/// //右边列表框显示文本
/// </summary>
public void MoveRgt()
{
int nHeigh = rightList.Height / rightList.ItemHeight;
int nCount = _rightList.Count;
for (int i = 0; i < nHeigh - nCount; i++)
{
rightList.Items.Add("");
}
foreach (String str1 in _rightList)
{
rightList.Items.Add(str1);
}
}
/// <summary>
/// 左边列表新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addNew_Click(object sender, EventArgs e)
{
if (newText.Text != "")
{
_leftList.Add(newText.Text);
leftList.Items.Clear();
newText.Clear();
this.MoveLef(); //左边刷新
}
else
{
return;
}
}
private void allMoveRight_Click(object sender, EventArgs e)
{
_rightList.AddRange(_leftList);
_leftList.Clear();
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveRgt(); //右边刷新
}
private void moveRight_Click(object sender, EventArgs e)
{
if (leftList.SelectedIndex > -1)
{
_centerList.AddRange(_rightList);
_rightList.Clear();
_rightList.Add(_leftList[leftList.SelectedIndex]);
_leftList.RemoveAt(leftList.SelectedIndex);
_rightList.AddRange(_centerList);
_centerList.Clear();
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveLef(); //左边刷新
this.MoveRgt(); //右边刷新
}
else
{
return;
}
}
private void upOne_Click(object sender, EventArgs e)
{
if (_rightList.Count > 0)
{
MessageBox.Show("是否POP"+'"'+_rightList[0].ToString()+'"');
_rightList.RemoveAt(0);
rightList.Items.Clear();
this.MoveRgt();
}
else
{
return;
}
}
private void moveLeft_Click(object sender, EventArgs e)
{
if (rightList.SelectedIndex >= 0)
{
String selectText = rightList.GetItemText(rightList.SelectedItem);//获取右边选中文本
_leftList.Add(selectText);
_rightList.Remove(selectText);
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveLef();
this.MoveRgt();
}
else
{
return;
}
}
private void allMoveLeft_Click(object sender, EventArgs e)
{
_leftList.AddRange(_rightList);
_rightList.Clear();
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveLef();
}
private void button1_Click(object sender, EventArgs e)
{
leftList.Items.Clear();
rightList.Items.Clear();
}
}
{
//声名三个数组
private ArrayList _leftList = new ArrayList();
private ArrayList _rightList = new ArrayList();
private ArrayList _centerList = new ArrayList();
public PLAY()
{
InitializeComponent();
// skinEngine1.SkinFile = "SteelBlack.ssk"; //引用特效皮肤
}
/// <summary>
/// //左边列表框实现文本
/// </summary>
public void MoveLef()
{
foreach (String str1 in _leftList)
{
leftList.Items.Add(str1);
}
}
/// <summary>
/// //右边列表框显示文本
/// </summary>
public void MoveRgt()
{
int nHeigh = rightList.Height / rightList.ItemHeight;
int nCount = _rightList.Count;
for (int i = 0; i < nHeigh - nCount; i++)
{
rightList.Items.Add("");
}
foreach (String str1 in _rightList)
{
rightList.Items.Add(str1);
}
}
/// <summary>
/// 左边列表新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addNew_Click(object sender, EventArgs e)
{
if (newText.Text != "")
{
_leftList.Add(newText.Text);
leftList.Items.Clear();
newText.Clear();
this.MoveLef(); //左边刷新
}
else
{
return;
}
}
private void allMoveRight_Click(object sender, EventArgs e)
{
_rightList.AddRange(_leftList);
_leftList.Clear();
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveRgt(); //右边刷新
}
private void moveRight_Click(object sender, EventArgs e)
{
if (leftList.SelectedIndex > -1)
{
_centerList.AddRange(_rightList);
_rightList.Clear();
_rightList.Add(_leftList[leftList.SelectedIndex]);
_leftList.RemoveAt(leftList.SelectedIndex);
_rightList.AddRange(_centerList);
_centerList.Clear();
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveLef(); //左边刷新
this.MoveRgt(); //右边刷新
}
else
{
return;
}
}
private void upOne_Click(object sender, EventArgs e)
{
if (_rightList.Count > 0)
{
MessageBox.Show("是否POP"+'"'+_rightList[0].ToString()+'"');
_rightList.RemoveAt(0);
rightList.Items.Clear();
this.MoveRgt();
}
else
{
return;
}
}
private void moveLeft_Click(object sender, EventArgs e)
{
if (rightList.SelectedIndex >= 0)
{
String selectText = rightList.GetItemText(rightList.SelectedItem);//获取右边选中文本
_leftList.Add(selectText);
_rightList.Remove(selectText);
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveLef();
this.MoveRgt();
}
else
{
return;
}
}
private void allMoveLeft_Click(object sender, EventArgs e)
{
_leftList.AddRange(_rightList);
_rightList.Clear();
leftList.Items.Clear();
rightList.Items.Clear();
this.MoveLef();
}
private void button1_Click(object sender, EventArgs e)
{
leftList.Items.Clear();
rightList.Items.Clear();
}
}
相关文章推荐
- [原创]C#之探索发现:在WinForm上写的一个模拟分页小程序
- Sys请教下如何用C#开发一个简易的电路模拟程序<qi>
- Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。
- DotNet系统安装程序制作StepByStep(包括FrameWork安装和数据库安装配置)C#
- 用C#给程序加启动画面并只允许一个应用程序实例运行[转]
- C#线程:只要任何一个线程在运行,程序就不退出?!
- 将一个C#(快速识图)程序改为Java
- 编写一个C#程序,要求从键盘输入10个数存放在数组中,分别求出最大数和最小数存放在第一第二个元素里
- C# 创建互斥程序_只允许运行一个程序实例
- C# 只开启一个程序,如果第二次打开则自动将第一个程序显示到桌面
- [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器
- c# 启动一个程序代码
- 利用C#写一个模拟的摇号系统
- C# Socket聊天程序(一个服务端,多个客户端)
- 把C#程序(含多个Dll)合并成一个Exe的超简单方法
- [技巧] C#实现让程序只能打开一个实例(总结3方法)
- Lua和C程序通过一个堆栈交换数据
- C#写的照片上传代码--建立一个一般处理程序
- 模拟一个简单的基于tcp的远程关机程序
- java 使用LinkedList模拟一个堆栈或者队列数据结构