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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите!!! работа с изображениями 
V
    Опции темы
kuller
Дата 12.3.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Расскажите пожалуйста как сделать вот что:
мне надо сделать так чтобы была форма .... посредине появлялось изображение, а под ним стрелки Вперед и Назад .... ну и понажатию на стрелочки, чтобы изображения соответственно менялись ..... помоги или объясните как это сделать ... ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО)

Добавлено через 1 минуту и 28 секунд
Да и забыл сказать мне это надо сделать в С#)))
PM MAIL   Вверх
CYBERDREAM
Дата 12.3.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


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

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



Один из вариантов, имеющий право на жизнь
Код

       List<string> images = new List<string>();
        int Index = 1;

        /// <summary>
        /// Next Image
        /// </summary>
        private void button3_Click(object sender, EventArgs e)
        {
            if(Index<images.Capacity-1)
                pictureBox1.Load(images[++Index]);
        }
        /// <summary>
        /// previous image
        /// </summary>
        private void button2_Click(object sender, EventArgs e)
        {
            if (Index > 0)
                pictureBox1.Load(images[--Index]);
        }
private void Form1_Load(object sender, EventArgs e)
        {
            foreach (string f in Directory.GetFiles(@"D:\install\IMAGES"))
            {
                if (Path.GetExtension(f).ToLower() == ".jpg")
                {
                    images.Add(f);
                    
                }
            }
        }
 smile 

Это сообщение отредактировал(а) CYBERDREAM - 12.3.2008, 11:53


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

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



CYBERDREAM, вариант действительно имеет право на жизнь, но лучше использовать Count вместо Capacity: мало ли че с этим списком могут сделать smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
CYBERDREAM
Дата 12.3.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


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

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



Цитата(vponomarov @ 12.3.2008,  14:21)
CYBERDREAM, вариант действительно имеет право на жизнь, но лучше использовать Count вместо Capacity: мало ли че с этим списком могут сделать smile

ты прав, что то я прогнал в этом месте. Thx  smile 


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


Опытный
**


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

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



Прани вот я попробывал этот вариант .... вставил его в свою программу ... начал компелировать и вот куча ошибок:

1 The name 'pictureBox1' does not exist in the current context    
2 The name 'Directory' does not exist in the current context
3 The name 'Path' does not exist in the current context
4 'Trener.Form1' does not contain a definition for 'Form1_Paint'    

РАССКАЖИТЕ пожалуйста в чем ошибка ... 
PM MAIL   Вверх
vponomarov
Дата 12.3.2008, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

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



1) замени на имя своего пикчербокса или добавь на форму новый
2, 3) нужно добавить using System.IO
4) откуда взялась ошибка с 'Form1_Paint' непонятно. в коде его нету

не забудь привязать Form1_Load к событию загрузки формы

по-моему, неправильно не думая и не разобравшись вставлять предложеный код в свою прогу.
нужно ж немного подумать smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
kuller
Дата 12.3.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

по-моему, неправильно не думая и не разобравшись вставлять предложеный код в свою прогу.
нужно ж немного подумать   

Я бы с радостью, но мне неоткуда даже разбираться с теми строками которые ты написал .... немог бы посоветовать КНИГУ хорошую .... а тот нам задачи поставили а как и что делайте сами(
PM MAIL   Вверх
CYBERDREAM
Дата 12.3.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


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

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



попробую наиболее подробно описать весь код.
Из toolbox (панель справа) перекинь на форму PictureBox, можешь свойство SizeMode выставить как StretchImage. 
Код

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;

namespace myspace
{
    public partial class Form1 : Form
    {
        List<string> images = new List<string>();
        int Index = 0;
        ///Для того, чтобы привязать метод к событию загрузки формы, можешь два раза щелкнуть
        /// по ней, он сгенерируется автоматически
        private void Form1_Load(object sender, EventArgs e)
        {
            foreach (string f in Directory.GetFiles(@"D:\install\IMAGES"))
            {
                if (Path.GetExtension(f).ToLower() == ".jpg")
                {
                    images.Add(f);
                    
                }
            }
        }
        ///для привязки методов к событию нажатия, аналогично, можешь дважды щелкнуть по 
        /// ним. И для соответствующего метода вписать код (имена кнопок методов могут отличаться,
        /// так что вставляй только содержимое методов
        private void button3_Click(object sender, EventArgs e)
        {
            ///следующая картинка
            if(Index<images.Capacity-1)
                pictureBox1.Load(images[++Index]);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ///предыдущая картинка
            if (Index > 0)
                pictureBox1.Load(images[--Index]);
        }
    }
}


Добавлено через 1 минуту и 47 секунд
По книгам, думаю тебе нужен "Троелсен"
Здесь обсуждалось: http://forum.vingrad.ru/forum/topic-177755...25B3/index.html
Удачного кодинга!


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


Опытный
**


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

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



Код

private void pictureBox1_Click(object sender, EventArgs e)
        {
            
        }

Не подскажешь "CYBERDREAM " как мне сделать привязку 
Код

 private void Form1_Load(object sender, EventArgs e)

как мне  Form1_Load привезать к pictureBox1 .... спасибо твое объяснение предыдущее пошло на пользу уже намутил на форме 2 кнопки и место для картинки)

PM MAIL   Вверх
CYBERDREAM
Дата 12.3.2008, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


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

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



Код

private void pictureBox1_Click(object sender, EventArgs e)
        {
            
        }

тебе обработчик этого события не нужен. Дважды щелкни по форме, а не по PictureBox


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


Опытный
**


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

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



Код

 private void Form1_Load_1(object sender, EventArgs e)
        {

        }

а подскажи сюда надо что то теперь для связи вписывать???

Добавлено через 3 минуты и 19 секунд
Ну вот вроде все сделал ..... но теперь при компиляции он мне пищет ...
'Trener.Form1' does not contain a definition for 'Form1_Load_1'
Опять что то запартачил(((

Добавлено через 13 минут и 45 секунд
CYBERDREAM,  БОЛЬШОЕ ТЕБЕ СПАСИБО .... теперь уменя перелистываются картинки)))
PM MAIL   Вверх
kuller
Дата 12.3.2008, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

List<string> images = new List<string>();


CYBERDREAM, не мог бы мне объяснить что значит эта строка???
PM MAIL   Вверх
CYBERDREAM
Дата 12.3.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


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

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



List - список строго типизированных объектов
List <string> список типа "string". 


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


Опытный
**


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

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



CYBERDREAM, а вот мы в этой программе при помощи цикло ФОРИЧ считываем последовательно до конца ...... ну все имеющие элементы, т.е. в данном случае картинки из папки ... да но возникает проблема когда он доходит до конца ..... нужно каким то образом изначально знать кол-во элементов и проверять на условие если типо последний, то ИНДЕКС равен 0 и чтобы как бы он их по кругу читал .... неподскажешь функцию которая бы возвратила кол-во элементов ... если есть такая:???
PM MAIL   Вверх
CYBERDREAM
Дата 12.3.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


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

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



Если хочешь иметь возможность по кругу крутить, то измени соответствующий код наследующее:
Код

        private void button3_Click(object sender, EventArgs e)
        {
            if (Index == images.Capacity - 1)
                Index = -1;
            if(Index<images.Capacity-1)
                pictureBox1.Load(images[++Index]);
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (Index == 0)
                Index = images.Count;
            if (Index > 0)
                pictureBox1.Load(images[--Index]);
            
        }

P.S. один вопрос - одна тема


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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