|
ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«НАЦИОНАЛЬНЫЙ МИНЕРАЛЬНО-СЫРЬЕВОЙ УНИВЕРСИТЕТ «ГОРНЫЙ»
Лабораторная работа №7
По дисциплине: Прикладное программирование
ListBox
Выполнил студент: группы ИТБ-10 Сярдин Сергей
Санкт-Петербург
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
namespace ListBox__7_
{
public partial class ListBox: Form
{
public ListBox()
{InitializeComponent();}
private void Exit_Click(object sender, EventArgs e)
{Close(); }
private void ListBox_Load(object sender, EventArgs e)
{richTextBox1.LoadFile("HelpListBox.rtf");
ShowKol();
}
private void ShowKol()
{ lblKol.Text = "Всего " + listBox1.Items.Count.ToString();
lblKol2.Text = "Всего " + listBox2.Items.Count.ToString();
}
private void Dob_Click(object sender, EventArgs e)
{string s = tbDob.Text.Trim();
if (s.Length == 0) { Console.Beep();
MessageBox.Show("В окне 'Добавить' отсутствует запись"); return; }
listBox1.Items.Add(s);
ShowKol();
}
private void SaveToFile_Click(object sender, EventArgs e)
{ // строим динамический объект "ПОТОК" для записи файла List1.txt
StreamWriter FileWrt = new StreamWriter("List1.txt");
foreach (string s in listBox1.Items)
FileWrt.WriteLine(s);
FileWrt.Close();
/* оператор foreach более надёжен, чем
for (i = 0; i < listBox1.Items.Count; i++)
FileWrt.WriteLine(listBox1.Items[i]);
так как в нем не указан индекс массива (коллекции) и, следовательно, он никогда не
выйдет за границы массива*/
}//end SaveToFile_Click
private void GetFromFile_Click(object sender, EventArgs e)
{ // строим динамический объект "ПОТОК" для чтения файла
string imf = "List1.txt";
if (!File.Exists(imf))//обработка ошибки, вызванной отсутствием файла
{Console.Beep();//звуковой сигнал
MessageBox.Show("Файл " + imf + " не найден в каталоге Debug", "Ошибка");
return;
}
StreamReader FileRead = new StreamReader("List1.txt");
listBox1.Items.Clear();
while (!FileRead.EndOfStream)//EndOfStream - метка конца файла
listBox1.Items.Add(FileRead.ReadLine());
FileRead.Close();
}//end GetFromFile_Click
private void GetInd_Click(object sender, EventArgs e)
{//получить значение индекса выделенного элемента
if (listBox1.SelectedIndex < 0)
{ Console.Beep(); MessageBox.Show("Элемент не выделен курсором"); return; }
tbIndex.Text = "Выбран "+listBox1.SelectedItem+". Его индекс = "+listBox1.SelectedIndex.ToString();
}
private void GetElem_Click(object sender, EventArgs e)
{//получить значение эелемента, выделенного индексом
if (listBox1.SelectedIndex < 0)
{ Console.Beep(); MessageBox.Show("Элемент не выделен курсором"); return; }
tbValue.Text = Convert.ToString(listBox1.SelectedItem);
}
private void DelIndex_Click(object sender, EventArgs e)
{// удалить элемент по его индексу
DialogResult result;
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
int ind = listBox1.SelectedIndex;
if (ind < 0)
{ Console.Beep(); MessageBox.Show("Элемент не выделен курсором"); return; }
result = MessageBox.Show("Удаляется элемент " + listBox1.SelectedItem,
"Подвердите действие", buttons);
if (result == DialogResult.Yes)
{ listBox1.Items.RemoveAt(ind); ShowKol(); listBox1.SelectedIndex=0;}
}//end DelIndex_Click
private void DelValue_Click(object sender, EventArgs e)
{//Удалить элемент коллекции listBox1 по его значению
string s = tbValue.Text.Trim(), message = "";
DialogResult result;
if (s.Length==0)
{ Console.Beep(); MessageBox.Show("Не введено значение удаляемого элемента в окно "); return; }
MessageBoxButtons buttons = MessageBoxButtons.YesNo;//тип кнопок, (Да.Нет)
//появляющихся в окне MessageBox
int ind = listBox1.FindStringExact(s);
if (ind < 0) { Console.Beep(); MessageBox.Show("Запись " + s + " не найдена"); return; }
message = "Удаляется элемент " + s;
result = MessageBox.Show(message, "Подвердите действие", buttons);
if (result == DialogResult.Yes)
{ listBox1.Items.Remove(s); // собственно удаление
ShowKol();
}
}//end DelValue_Click
private void Clear2_Click(object sender, EventArgs e)
{listBox2.Items.Clear();ShowKol();
}
private void CopyLine_Click(object sender, EventArgs e)
{//копирование одной строки
if (listBox1.SelectedIndex < 0)
{ Console.Beep(); MessageBox.Show("Элемент не выделен курсором\nКопирование невозможно",
"Копирование строки"); return; }
listBox2.Items.Add(listBox1.SelectedItem);
ShowKol();
}//end CopyLine_Click
private void Clrear1_Click(object sender, EventArgs e)
{listBox1.Items.Clear(); ShowKol();}
private void CoopyGr_Click(object sender, EventArgs e)
{//копирование группы строк
int n = listBox1.SelectedItems.Count;//столько строк отмечено
if (n == 0) { Console.Beep();
MessageBox.Show("Ни один элемент не выделен курсором\nКопирование невозможно",
"Копирование группы"); return;
}
foreach (string s in listBox1.SelectedItems)// цикл по всем отмеченным элементам
{listBox2.Items.Add(s);
}
}
private void Move_Click(object sender, EventArgs e)
{//перенос строки
string s;
int indList1;
indList1=listBox1.SelectedIndex;
if (indList1 < 0)
{Console.Beep(); MessageBox.Show("Элемент не выделен курсором\nПереносить нечего",
"Перенос строки"); return;
}
s=listBox1.SelectedItem.ToString();
listBox2.Items.Add(listBox1.SelectedItem);
listBox1.Items.RemoveAt(indList1); // собственно удаление
ShowKol();
}//end Move_Click
private void MoveGr_Click(object sender, EventArgs e)
{//перенос группы строк
ArrayList CollectionIndex = new ArrayList();// объявление объекта Collection (коллекции) с
int n = listBox1.SelectedItems.Count;//столько строк отмечено
int ind;
if (n == 0)
{Console.Beep();
MessageBox.Show("Ни один элемент не выделен курсором\nКопирование невозможно",
"Копирование группы"); return;
}
foreach (string s in listBox1.SelectedItems)// цикл по всем отмеченным элементам
{ listBox2.Items.Add(s);//добавляем в listBox2 отмеченные элеметы
CollectionIndex.Add(listBox1.SelectedIndex.ToString());// а их индексы переписываем
//в вспомогательную коллекцию CollectionIndex
}
foreach (string s in CollectionIndex)// цикл по всем индексам, сохранённым во вспомогательной
//коллекции CollectionIndex
{ind = Convert.ToInt32(s);
listBox1.Items.RemoveAt(ind);
}
ShowKol();
}
private void Sort_Click(object sender, EventArgs e)
{listBox1.Sorted = true;
}
//end MoveGr_Click
}//end class ListBox
}//end namespace ListBox__7_
Дата добавления: 2015-09-30; просмотров: 14 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Translate into Russian. Identify the type of lexical-semantic modifications. | | | London contains four World Heritage Sites: the Tower of London, the Palace of Westminster, Westminster Abbey and the historic settlement of Greenwich (in which the Royal Observatory marks the Prime |