2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
1

вывод формы при копировании

10.11.2009, 17:33. Показов 833. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть listbox1,listbox2. Осуществляем копирование файла из одного во второй.Если такой файл уже существует выводим форму с кнопками (перезаписать,переименовать,отмена), принцип тотала. Проблема такого плана. Если мы, например в listbox1 выделяем несколько файлов, которые уже есть в Listbox2,то форма почему-то выводится только один раз,а нужно столько сколько мы выделили файлов.
Вот код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
foreach (string s in listBox1.SelectedItems)
                {
                 
                    for (int i = 0; i < mas_imen_nav.Count; i++)
                    {
                        if (s == mas_imen_nav[i])
                        {
                         forma2 frm2 = new forma2();
                         frm2.Show();  
                         .......
 
                        } 
 
                    }
Как избежать этой ошибки????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2009, 17:33
Ответы с готовыми решениями:

Открытие формы при копировании файла в папку
Добрый день! Прошу помощи.. Если форма вручную была свернута, как ее развернуть при копировании...

Вывод в Lable при копировании
Есть код который копирует папки и файлы class FileWorker : Main { public...

Вывод формы при выборе в ComboBox
Здравствуйте. У меня появилась проблема... У меня база данных и мне надо чтобы при нажатии на...

Вывод значения в comboBox при загрузке формы
Доброго времени суток! Как сделать, чтобы при открытии формы в comboBox уже отображалось...

3
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
11.11.2009, 14:37 2
Кто-такой mas_imen_nav?
Покажите весь код

Добавлено через 3 секунды
Кто-такой mas_imen_nav?
Покажите весь код
0
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
11.11.2009, 16:43  [ТС] 3
..............................................................
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public void vyvod_nav()
        {
            bool bl = false;
            int i=0;
     
            DirectoryInfo dir1 = new DirectoryInfo(@"d:\\NAVI\\Ozi_Expl\\Data\\");
          
            foreach (System.IO.FileInfo file in dir1.GetFiles(*.wpt*))
            {
                  i = i + 1;
                  istBox2.Items.Add(file.Name);
                 mas_imen_nav.Add(file.Name);  //содержит имена файлов,которые есть в Listbox2
            }
                                                            
        }
 
 
private void button1_Click(object sender, EventArgs e)
        {
           
            String text = System.IO.File.ReadAllText(@"c:\ozi\ozi.txt");
            DirectoryInfo dir2 = new DirectoryInfo(text);
            DirectoryInfo dir3 = new DirectoryInfo(disk+ "\\NAVI\\Ozi_Expl\\Data\\");
            
            if ((string)listBox1.SelectedItem != null)
            {   
                progressBar1.Value = 1;
                foreach (string s in listBox1.SelectedItems)
                {
                 
                    progressBar1.Maximum = listBox1.SelectedItems.Count+1;
                    bl = true;
           
                    for (int i = 0; i < mas_imen_nav.Count; i++)
                    {
                       
                        if (s == mas_imen_nav[i]) //если выделенный элемент listbox1 есть в Lisbox2, то вызываем
                        {                                 // форму KopPer 
                    
                            kol = listBox1.SelectedItems.Count + 1;
                            bl = false;
                            FileInfo comp = new FileInfo(dir2.FullName +s);
                            FileInfo navig = new FileInfo(dir3.FullName + s);
                            string data_sozd_comp= comp.CreationTime.ToString();
                            string data_sozd_nav = navig.CreationTime.ToString();
                            frm2 = new KopPer(this);
                            frm2.prin_znach(dir2.FullName ,dir3.FullName ,s,formats_,progressBar1,comp.Length,navig.Length,data_sozd_comp,data_sozd_nav);
                            frm2.Show();
                                                                                            
                            
                        } 
 
                    }
 
                        if (bl)
                        {
                            progressBar1.Visible = true;
                            progressBar1.Value++;
                            System.IO.File.Copy(dir2 + s, dir3 + s, true);
                            listBox2.Items.Add(s);
                            mas_imen_nav.Add(s);
                        }
 
                }
 
                 progressBar1.Visible = false;
 
             
            }
 }
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
12.11.2009, 07:23 4
Попробуйте
C#
1
frm2.ShowDialog();
вместо frm2.Show();
1
12.11.2009, 07:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2009, 07:23
Помогаю со студенческими работами здесь

Подвисание формы при копировании файла
Всем дорого времени суток! Есть форма с кнопками &quot;Выбор файла&quot; и &quot;Копирование&quot;. Когда идет...

Вывод формы при нажатии на кнопку
Подскажите пожалуйста как сделать чтобы при нажатии на кнопку на одной форме появлялась другая...

Вывод сообщения при отправке формы
Здесь я принимаю форму и записываю в файл &lt;?php define('GUEST','guest.txt');...

Вывод времени при открытие формы
Как сделать что бы время выводилось на форме без каких либо нажатий.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru