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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с графикой в Windows Forms. Независимо-передвигающиеся круги.  
V
    Опции темы
Pork6
  Дата 16.10.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Язык: С++.NET.

И снова поднимаю эту тему. Возникли проблемы скорее понимания, чем синтаксиса, но тем не менее. Все по порядку.

Есть задание - нарисовать круги, которые перемещаются и отталкиваются от стен (в перспективе - друг от друга). Кругов несколько. 1, 2, 3, может 4. 

Для начала, я решил сделать для себя пример с одним кругом. Создал форму, на ней элемент panel1 (для удобства обращения) и написал функцию рисования:

Код

void DrawEl(int xCoord, int yCoord)
        {
            SolidBrush^ myBrush = gcnew SolidBrush(Color::Red);
            Graphics^ gr;
            gr = this->panel1->CreateGraphics();
            gr->FillEllipse(myBrush, xCoord, yCoord, 50, 50);
        }


Так как круг должен перемещаться, то создал функцию с движением:

Код

void MoveEl (bool Xmove, bool Ymove)
        {
            if (Xmove == 0)
                xCoord = xCoord+2;
            if (Xmove == 1)
                xCoord = xCoord-2;
            if (Ymove == 0)
                yCoord = yCoord+2;
            if (Ymove == 1)
                yCoord = yCoord-2;
        }


Как видите, функция движения принимает 2 була - х и у. Если бул тру, то сдвигаем шарик вправо, если фолс - влево. xCoord и уCoord - глобальные переменные.

Ну а что бы он двигался, я создал таймер на 10мс, который выглядит так:

Код

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) 
             {
                 this->timer1->Stop(); //    сбрасываем таймер            
                
                 bool krayL = 0; //переменные для проверки положения шарика (Left, Right, Up, Down)
                 bool krayR = 0;
                 bool krayU = 0;
                 bool krayD = 0;

                 if (xCoord > 512) // если координата шарика ушла за правую границу panel1 - меняем направление
                     Xmove = 1;
                 if (xCoord < 0)
                     Xmove = 0;
                 if (yCoord > 212)
                     Ymove = 1;
                 if (yCoord < 0)
                     Ymove = 0;
                 MoveEl(Xmove,Ymove);    //двигаем             
                 DrawEl(xCoord,yCoord); //рисуем

                 this->timer1->Start();
             }


Собственно, всё.

Какие недостатки?

1) Рисуется сплошная линия, а не шарик. Если до каждой отрисовки чистить panel1, то появляется мерзкое мерцание шарика.

2) Это только один шарик. Можно конечно таким же образом написать еще 3, но это, согласитесь, глупо, ведь если шариков понадобится 50 то.. Значит нужен класс. И вот тут у меня ступор, так как я совсем не понимаю, как этот самый класс написать. Весь вечер и пол-ночи пытался это сделать, но то Form1 не видит класс Krug, то класс Krug не видит panel1 с Form1. И наследование пробовал и файл отдельный создавал... Не помогает.

Так что, прошу объяснить и привести пример (прототип программы, без кода, с описанием) реализации этой задачи.

Заранее бОльшое спасибо.

(текст ниже - не актуален, оставлен для истории)


С кругами разобрался сам. Но появился вопрос по поводу Forms в С++.NET. А именно:

В приложении 3 формы. "Privet", "Prepod" и "Student"

При запуске приложения открывается форма "привет". На этой форме 2 кнопки: "Препод" и "Студент".

Нужно, что бы по нажатию на кнопку "Препод" открывалась форма "Prepod", а по нажатию на кнопку студент - форма "Student".

Какой код должен быть у обработчика кнопки "Препод" ?

(все что ниже - не актуально)

(------------------------------------------)

Всем доброго времени суток.

Где: CLR, Windows Forms. VS2008.

Задача: нарисовать 3 (может больше) круга на поле. Заставить их двигаться и отталкиваться от бортиков (и друг от друга). 

Так как только вылез из консоли, то в графике мало понимаю. Почитал немного примеров и написал вот такой вот код:

Код

void DrawEl(int xCoord, int yCoord) //рисую круг в pictureBox1
        {        
            int widthBtm = 562;
            int heightBtm = 262;
            Bitmap^ MyBmp;    
            Graphics^ grBmp;
            SolidBrush^ myBrush = gcnew SolidBrush(Color::Red);

            MyBmp = gcnew Bitmap(widthBtm, heightBtm);                
            grBmp = Graphics::FromImage(MyBmp);
            this->pictureBox1->Image = MyBmp;
            
            grBmp->FillEllipse(myBrush,xCoord,yCoord,50,50);            
        }


Функцию движения пока опущу, но перерисовывается все это по таймеру. 

Это один круг.

Решил нарисовать второй. 

И тут же столкнулся с проблемой. А именно - после отрисовки второго - первый не видно. Насколько я понял, виновата во всем эта строчка: "this->pictureBox1->Image = MyBmp;", где мы "натягиваем" на текстбокс наш кружок. 

Но как исправить это - не знаю. 

Есть идеи? 

И общие мысли по проекту. Может вообще все неправильно делаю? 

Спасибо.

upd: Сделал так:

Код

SolidBrush^ myBrush = gcnew SolidBrush(Color::Red);
Graphics^ gr;
gr = this->panel1->CreateGraphics();
gr->FillEllipse(myBrush, xCoord, yCoord, 50, 50);


Соответственно, выводится это все на элементе panel1.



Это сообщение отредактировал(а) Pork6 - 21.10.2009, 02:05
PM MAIL WWW ICQ Skype   Вверх
mekhanikus
Дата 17.10.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вольноопределяющийся
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 16.6.2008
Где: Спасск-Дальний

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



Если сделать круги в виде круглых дочерних окон (SetWindowRgn), то можно запросто передвигать их в пределах родителя фкнкцией SetWindowPos.
При этом легко можно контролировать выход за переделы окна и столкновения.

Только Ваш код мало похож на С++.
Может Вы ошиблись разделом?
PM MAIL   Вверх
Irdis
Дата 17.10.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



goto .net c вашими вопросами
PM MAIL   Вверх
ИванМ
Дата 17.10.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Pork6, храните круги в списке/массиве, а потом выводите их все вместе по циклу. Получается что вы все время все стираете а потом выводите только один рисунок.

Это сообщение отредактировал(а) ИванМ - 17.10.2009, 14:36
PM MAIL   Вверх
Pork6
Дата 18.10.2009, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



(решил не создавать новую тему, так как вопрос простой)

С кругами разобрался сам. Но появился вопрос по поводу Forms в С++.NET. А именно:

В приложении 3 формы. "Privet", "Prepod" и "Student"

При запуске приложения открывается форма "привет". На этой форме 2 кнопки: "Препод" и "Студент".

Нужно, что бы по нажатию на кнопку "Препод" открывалась форма "Prepod", а по нажатию на кнопку студент - форма "Student".

Какой код должен быть у обработчика кнопки "Препод" ?
PM MAIL WWW ICQ Skype   Вверх
ДобренькийПапаша
Дата 18.10.2009, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Код

using(Prepod ex=new Prepod())
{
        ex.Show() //or ex.ShowDialog()
}



--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
Pork6
Дата 18.10.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня C++.NET, в этом и проблема. На C# у меня получалось, а вот C++.NET меня не слушает (
PM MAIL WWW ICQ Skype   Вверх
PaZ1T1V
Дата 18.10.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

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



ну на C++ не будет ли это выглядеть так 
Код

Prepod ^prepod = gcnew Prepod();
prepod->Show(this);

а в конструкторе формы Prepod делаем следующее
Код

private:
                 Privet ^ privet;
public:
        Prepod(Privet ^ priv)
        {
            InitializeComponent();
            privet = priv;
        }


у меня на C++ так работало, так же как и на C# 

Это сообщение отредактировал(а) PaZ1T1V - 18.10.2009, 15:24
--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Pork6
  Дата 21.10.2009, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Язык: С++.NET.

И снова поднимаю эту тему. Возникли проблемы скорее понимания, чем синтаксиса, но тем не менее. Все по порядку.

Есть задание - нарисовать круги, которые перемещаются и отталкиваются от стен (в перспективе - друг от друга). Кругов несколько. 1, 2, 3, может 4. 

Для начала, я решил сделать для себя пример с одним кругом. Создал форму, на ней элемент panel1 (для удобства обращения) и написал функцию рисования:

Код

void DrawEl(int xCoord, int yCoord)
        {
            SolidBrush^ myBrush = gcnew SolidBrush(Color::Red);
            Graphics^ gr;
            gr = this->panel1->CreateGraphics();
            gr->FillEllipse(myBrush, xCoord, yCoord, 50, 50);
        }


Так как круг должен перемещаться, то создал функцию с движением:

Код

void MoveEl (bool Xmove, bool Ymove)
        {
            if (Xmove == 0)
                xCoord = xCoord+2;
            if (Xmove == 1)
                xCoord = xCoord-2;
            if (Ymove == 0)
                yCoord = yCoord+2;
            if (Ymove == 1)
                yCoord = yCoord-2;
        }


Как видите, функция движения принимает 2 була - х и у. Если бул тру, то сдвигаем шарик вправо, если фолс - влево. xCoord и уCoord - глобальные переменные.

Ну а что бы он двигался, я создал таймер на 10мс, который выглядит так:

Код

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) 
             {
                 this->timer1->Stop(); //    сбрасываем таймер            
                
                 bool krayL = 0; //переменные для проверки положения шарика (Left, Right, Up, Down)
                 bool krayR = 0;
                 bool krayU = 0;
                 bool krayD = 0;

                 if (xCoord > 512) // если координата шарика ушла за правую границу panel1 - меняем направление
                     Xmove = 1;
                 if (xCoord < 0)
                     Xmove = 0;
                 if (yCoord > 212)
                     Ymove = 1;
                 if (yCoord < 0)
                     Ymove = 0;
                 MoveEl(Xmove,Ymove);    //двигаем             
                 DrawEl(xCoord,yCoord); //рисуем

                 this->timer1->Start();
             }


Собственно, всё.

Какие недостатки?

1) Рисуется сплошная линия, а не шарик. Если до каждой отрисовки чистить panel1, то появляется мерзкое мерцание шарика.

2) Это только один шарик. Можно конечно таким же образом написать еще 3, но это, согласитесь, глупо, ведь если шариков понадобится 50 то.. Значит нужен класс. И вот тут у меня ступор, так как я совсем не понимаю, как этот самый класс написать. Весь вечер и пол-ночи пытался это сделать, но то Form1 не видит класс Krug, то класс Krug не видит panel1 с Form1. И наследование пробовал и файл отдельный создавал... Не помогает.

Так что, прошу объяснить и привести пример (прототип программы, без кода, с описанием) реализации этой задачи.

Заранее бОльшое спасибо.
PM MAIL WWW ICQ Skype   Вверх
Pork6
Дата 24.10.2009, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всё еще актуально. 
PM MAIL WWW ICQ Skype   Вверх
KelTron
Дата 25.10.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Pork6 @  21.10.2009,  02:06 Найти цитируемый пост)
Рисуется сплошная линия, а не шарик.

Потому что нужно стирать ранее нарисованное. И вообще лучше рисовать по событию Paint, а в таймере делать Invalidate().

Цитата(Pork6 @  21.10.2009,  02:06 Найти цитируемый пост)
появляется мерзкое мерцание шарика

Для того чтобы избавиться от этого нужно поставить свойство формы DoubleBuffered = true

Я набросал примерчик с классом, правда там на C#, т.к. судя по постам для тебя C# знаком, то думаю тебе не составит труда разобраться.
 

Присоединённый файл ( Кол-во скачиваний: 15 )
Присоединённый файл  WindowsFormsApplication7.rar 38,83 Kb


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Pork6
Дата 25.10.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



KelTron, большое спасибо. Большое-большое =)

Только не совсем понимаю, как написать этот код:

Код

foreach (var circle in this.circles)
            {
                circle.Draw(e.Graphics);
            }


В реалиях C++.NET, где этого самого foreach не было и нет.

Это сообщение отредактировал(а) Pork6 - 25.10.2009, 16:33
PM MAIL WWW ICQ Skype   Вверх
KelTron
Дата 25.10.2009, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Так вроде...

Код

for each (Circle^  circle in this->circles)
{
    //...
}




--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Pork6
Дата 26.10.2009, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да, верно, еще раз спасибо. Ну и последняя (надеюсь) проблема - List в С++.NET

Строчка: 

Код

List<Krug^>^ circles = gcnew List<Krug^>();


Выдает сразу 3 ошибки на этой строке:

Ошибка    1    error C2143: синтаксическая ошибка: отсутствие ";" перед "<"    
Ошибка    2    error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Ошибка    3    error C2238: непредвиденные лексемы перед ";"    


В общем, становится ясно, что List он не видит. 

Сначала была попытка просто изменить List на STL-евский list, с соответствующим include-ом, но эти 3 ошибки никуда не исчезли. Тогда я решил заняться происхождением этого List-а и нашел в MSDN-е, что ему нужно подключить пространство имен using namespace System::Collections::Generic;

После подключения оного, я получил 63 ошибки по всему коду программы примерно одного содержания:

error C2143: синтаксическая ошибка: отсутствие ";" перед "("    
error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
...


И прочие прелести, вплоть до неожиданного окончания файла. 

В гугле ничего про такую ошибку не нашел.

P.S. Делаю курсовик, сказали, что бы язык был C++. Для графики предложили MFC, но я выбрал куда более родной по C#-у .NET. Так что постоянно натыкаюсь на такие вот камни.


PM MAIL WWW ICQ Skype   Вверх
KelTron
Дата 26.10.2009, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Возможно класс объявляешь как 
Код

class Krug 
{
}


а надо
Код

class Krug 
{
}; // <- Здесь точка с запятой



--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Pork6
Дата 26.10.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нет, с Krug-ом все верно. Структура такая:

Код

public class Krug
    {
        //...
    };

public ref class Form1 : public System::Windows::Forms::Form
    {
        //...
        static List<Krug^>^ circles = gcnew List<Krug^>(); // 4 ошибки
        //...
    };


error C3699: ^: это косвенное обращение невозможно использовать для типа "testCLR::Krug"

error C3225: аргумент универсального типа для "T" не может быть "testCLR::Krug *", он должен являться типом значения или дескриптором ссылочного типа

(повторяются дважды на строчке с объявлением List-а)

Без static-а Си ругается, так что тоже добавил.




Это сообщение отредактировал(а) Pork6 - 26.10.2009, 15:50
PM MAIL WWW ICQ Skype   Вверх
KelTron
Дата 26.10.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тогда наверно так:
Код

public ref class Krug
    {
        //...
    };


И static  не нужно делать, просто код создания списка помести в конструктор.
Код

Form1(void)
{
    InitializeComponent();
    this->circles = gcnew List<Krug^>();

}



Глядишь я такими темпами C++.NET выучу, пока с этим примером разбираюсь))

Это сообщение отредактировал(а) KelTron - 26.10.2009, 17:40


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Pork6
Дата 26.10.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я тоже надеюсь, что выучу )

Что бы он нормально Krug подцепил, пришлось его в отдельный h-файл, с прописыванием оного в главном файле:
Код


#include "Krug.h"


И теперь последний штрих остался - это создание самих кругов. Написал вот так:

Код

this->circles->Add(gcnew Krug(0, 0, 10) {OffsetX = 2, OffsetY = 3});


И получил ошибки:

error C2065: OffsetX: необъявленный идентификатор    
error C2552: $S6: инициализация не агрегированных данных с помощью списка инициализации не допускается
error C2065: OffsetY: необъявленный идентификатор    
error C2078: слишком много инициализаторов

Насколько я понял, ему не нравится синтаксис, а именно - наличие и/или содержимое фигурных скобок. 

Честно пытался найти справку по использовании класса в Add, но не нашел ничего.

По этому поводу есть идеи?

В любом случае, спасибо )


PM MAIL WWW ICQ Skype   Вверх
KelTron
Дата 26.10.2009, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну вообще это синтаксический сахар C#. Надо просто на старый лад переделать.
Код

Krug^ krug = gcnew Krug(0, 0, 10);
krug->OffsetX = 2;
krug->OffsetY = 3;
this->circles->Add(krug);


Это сообщение отредактировал(а) KelTron - 26.10.2009, 19:07


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Pork6
Дата 26.10.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Сейчас появилась проблема с классом Krug. Он не видит bounds из Form1 (главной формы).

Сделал, как надо, в Krug.h прописал 

Код

#include "Form1.h" 


и создал экземпляр формы для работы с ней: 

Код

Form1^ form = gcnew Form1(); //ошибки


Но получаю:
error C2065: form: необъявленный идентификатор
error C2061: синтаксическая ошибка: идентификатор "Form1"


Все это я делаю для функции Draw, которая должна принимать этот bounds из Form1.

Многострадальный проект в комплекте.




Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  testCLR.rar 742,53 Kb
PM MAIL WWW ICQ Skype   Вверх
KelTron
Дата 26.10.2009, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Копец...такое ощущение, что ты уже наугад код пишешь.

Разве сложно по аналогии с шарпом преобразовать? Я думал может у тебя будет пара вопросов, а так получается на каждой строчке спотыкаешься, видимо проще было сразу на С++.NET написать, хотя я его не знаю. Учись искать информацию.

Короче вот, возьми это и сравни с тем примером, что я давал в самом начале. Это должно решить все твои проблемы..)

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  testCLR.rar 79,67 Kb


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Pork6
Дата 26.10.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Получилось, что сложно. Может я ищу информацию как-то не правильно? MSDN, Google, CodeNet... 

Еще раз большое спасибо за помощь. Во всем разобрался, буду внедрять. 
PM MAIL WWW ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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