Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с listView, получение значения 
V
    Опции темы
oleg_in62
Дата 9.12.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



короче, пишу примитивный FTP-клиент, использую для навигации по FTP-серверу listView,  в него забиваю все файли и папки, теперь мне нужно по нажатии  Enter или Double_Click на одном из элементов этого листа получить зачение строки которую я туда забил, тоесть название файла или папки которое в нем хранится
PM MAIL   Вверх
CYBERDREAM
Дата 10.12.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 8
Всего: 28



например вот так:
Код

listBox1.Items[listBox1.SelectedIndex].ToString()

тоже писал ftp browser, может поможет чем, если что могу скинуть весь клас дизайнера
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace KOHD
{
    public partial class FtpBrowser : Form
    {
        List<string> FullPath = new List<string>();
        FTPClass ff;
        string fullPath = "";
        public FtpBrowser()
        {
            InitializeComponent();
        }
        public string Full_Path
        {
            get { return fullPath; }
            set { fullPath = value; }
        }
        private string GetFullPath(string folder)
        {
            if (folder == ".." && FullPath.Count > 0)
            {
                FullPath.RemoveAt(FullPath.Count - 1);

            }
            else if (folder != "..")
                FullPath.Add(folder);

            string path = "";
            foreach (string st in FullPath)
                if (path != "")
                    path += @"\" + st;
                else path += st;
            return path;
        }

        private void FtpBrowser_Load(object sender, EventArgs e)
        {
            ff = new FTPClass();
            ff.setRemoteHost(MAIN.taskCurrent.Ftp.FtpAddress);

            ff.RemotePassword = MAIN.taskCurrent.Ftp.Password;
            ff.RemoteUser = MAIN.taskCurrent.Ftp.User;
            try
            {
                ff.login();
                Fill_LB();
            }
            catch (Exception ex)
            {
                
                string[] mes = ex.Message.Split('\n');
                //textBox1.Text = mes[0];
                if (mes[0] == "Этот хост неизвестен")
                    MessageBox.Show("Не удалось соединиться с сервером\nПроверьте Адрес", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
                else if (mes[0] == @"Login or Password incorrect.
")
                    MessageBox.Show("Логин или пароль указаны неверно", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);

                else if (mes[0] == "Couldn't connect to remote server")
                    MessageBox.Show("Невозможно подключится к ФТП серверу, возможно указан неверный адрес, либо данный ФТП сервер не существует","Ошибка",MessageBoxButtons.OK,MessageBoxIcon.Information);
                else{
                    System.IO.StreamWriter sw = new System.IO.StreamWriter("error.txt");
                    sw.WriteLine(mes[0]);
                    sw.Close();
                    MessageBox.Show(ex.Message + "\n\n" + ex.StackTrace);
                }
                this.Close();
            }

            
        }
        void Fill_LB()
        {
            string[] list = ff.getFileList("");
            listBox1.Items.Add("..");
            foreach (string st in list)
            {
                try
                {
                    long lon = ff.getFileSize(st);
                }
                catch
                {

                    if (st.Length > 0)
                    {
                        bool isfolder = true;
                        for (int i = 0; i < st.Length; i++)
                            if (st[i] == '?')
                            {
                                isfolder = false;
                                break;
                            }
                        if (isfolder)
                            listBox1.Items.Add(st.Substring(0, st.Length - 1));
                    }
                }
            }
        }

        private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (listBox1.SelectedIndex > -1)
            {

                string[] list;
                ff.chdir(listBox1.Items[listBox1.SelectedIndex].ToString());
                tb_fullPath.Text = GetFullPath(listBox1.Items[listBox1.SelectedIndex].ToString());

                list = ff.getFileList("");

                listBox1.Items.Clear();
                listBox1.Items.Add("..");
                foreach (string st in list)
                {
                    try
                    {
                        long lon = ff.getFileSize(st);
                    }
                    catch
                    {
                        if (st.Length > 0)
                        {
                            bool isfolder = true;
                            for (int i = 0; i < st.Length; i++)
                                if (st[i] == '?')
                                {
                                    isfolder = false;
                                    break;
                                }
                            if (isfolder)
                                listBox1.Items.Add(st.Substring(0, st.Length - 1));
                        }
                    }
                }
            }
        }

        private void bt_select_Click(object sender, EventArgs e)
        {
            fullPath = tb_fullPath.Text;
            this.Close();
        }
    }
}


Писал давно, если что не суди строго))


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
oleg_in62
Дата 13.12.2008, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



спасибо за все, я разобрался сам и сделал по своему)) тебе + дал бы, так мало постов))

Добавлено через 1 минуту и 33 секунды
спасибо за все, я разобрался сам и сделал по своему)) тебе + дал бы, так мало постов))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.