Exemplo n.º 1
0
        private void SetChildsImages(TypesOfImages typeImg, bool accessory)
        {
            // Проход по всем картинкам и выборка изображений данного типа
            var newImageList = PatternImgResources.GetImageListFromPattern(typeImg);

            //Задает дочерним компонентам изображение из нового списка
            //Пока картинки есть и дочерние компоненты => делаем присваивание
            if (accessory)
            {
                int i = 0;
                //Добавление подходящих компонентов
                for (int p = 0; p < CountRightChild; p++)
                {
                    childElemlist[i].BackgroundImage = newImageList[p];
                    i++;
                }
            }
            else if (!accessory)
            {
                int i = countRightChild;
                //Добавление неправильных компонентов
                for (int j = 0; j < CountWrongChild; j++)
                {
                    childElemlist[i].BackgroundImage = PatternImgResources.GetRandomWrongImage(typeImages);
                    i++;
                }
            }
        }
Exemplo n.º 2
0
 //Set picture
 private void SetPrimaryAndBackgroundImage(TypesOfImages typeImg)
 {
     if (typeImg == TypesOfImages.Face)
     {
         primaryComponent1.BackgroundImage = PatternImgResources.primaryFace;
         this.BackgroundImage = PatternImgResources.BackgroundFace;
         TextHelp             = "С помощью мыши перетащите элементы, чтобы собрать изображение лица";
     }
     else if (typeImg == TypesOfImages.Refrigerator)
     {
         primaryComponent1.BackgroundImage = PatternImgResources.primaryRefriger;
         this.BackgroundImage = PatternImgResources.BackgroundRefriger;
         TextHelp             = "С помощью мыши перетащите всё продукты в холодильник";
     }
     else if (typeImg == TypesOfImages.Flower)
     {
         primaryComponent1.BackgroundImage = PatternImgResources.primaryFlower;
         this.BackgroundImage = PatternImgResources.BackgroundFlower;
         TextHelp             = "С помощью мыши перетащите всё цветы в вазу";
     }
 }
Exemplo n.º 3
0
        // Функция выполняется при отжатии перемещаемого контрола
        private void mUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                //Control childComponent
                Control control = (Control)sender;
                isPress = false;
                //Если дочерний компонент отпустили в координатах primary-comp
                if (control.Top > controlPrim.Location.Y &&
                    control.Top + control.Height < controlPrim.Location.Y + controlPrim.Height &&
                    control.Left > controlPrim.Location.X &&
                    control.Left + control.Width < controlPrim.Location.X + controlPrim.Width)
                {
                    TypesOfImages downTypeImage = CaptchaPattern;

                    if ((control as ChildComponent.ChildComponent).Accessory)
                    {
                        control.MouseDown -= new MouseEventHandler(mDown);
                        control.MouseUp   -= new MouseEventHandler(mUp);
                        (control as ChildComponent.ChildComponent).OnPrimaryComponent = true;

                        //Привязываем дочерний к праймари компоненту для прозрачного отображения
                        Point oldPoint = control.Location;

                        control.Parent   = primaryComponent1;
                        control.Location = new Point(oldPoint.X - primaryComponent1.Location.X,
                                                     oldPoint.Y - primaryComponent1.Location.Y);

                        //MessageBox.Show((control as ChildComponent.ChildComponent).Accessory.ToString());

                        if (checkIsOver())
                        {
                            if (showMessageBox)
                            {
                                MessageBox.Show("Проверка окончена");
                            }
                            result = true;
                            goodResultEvent(this, new EventArgs());
                            //это пока
                            Enabled = false;
                            //надо как то вернуть значение истины!
                        }
                    }
                    else
                    {
                        if (checkError())
                        {
                            if (showMessageBox)
                            {
                                MessageBox.Show("Вы допустили слишком много ошибок");
                            }
                            badResultEvent(this, new EventArgs());
                            Enabled = false;
                        }
                        else
                        {
                            if (showMessageBox)
                            {
                                MessageBox.Show("Ошибка! Всё заново!");
                            }
                            errorEvent(this, new EventArgs());
                            errorNumber--;
                            UpdateComponent();
                            (control as ChildComponent.ChildComponent).RandomLocation = true;
                        }
                    }
                }
            }

            return;
        }
Exemplo n.º 4
0
 private void SetImagesFromType(TypesOfImages typeImg)
 {
     SetPrimaryAndBackgroundImage(typeImg);
     SetChildsImages(typeImg, true);
     SetChildsImages(typeImg, false);
 }