опять кроссворды

Тема в разделе ".NET", создана пользователем -, 14 май 2007.

  1. Гость

    а если у меня объект не слово, а символ...

    один ArrayList я заполняю горизонтальными словами, другой вертикальными. Пусть, например, выводятся горизонтальные слова, потом вертикальные. Т.е. соответственно какие-то текстБоксы перекрываются. Тогда получается если я разгадываю слова по вертикали, я спокойно и главное правильно перехожу по табуляции на нужный текстБокс (кстати, хотелось бы по Enter), а по горизонтали, где пересечения курсор не мигает. Что делать? Это не есть хорошо с точки зрения юзабилити.
     
  2. mms

    mms Гость

    Мда, ничего не понятно :D

    Что значит лист заполняется горизонтальными/вертикальными словами?

    Вполне очевидно, что текст бокс который представляет какой-то символ кроссворда должен быть один, а не два, которые друг на друга накладываются, в этом случае не просто курсор не будет не виден, но и целое слово, так же надо будет делать через одно место синхронизацию этих текст боксов (типа ввёл в одном, значит и в другом тоже должно ввестись :) ). Если известно какой символ слова пересекается, но надо найти тот самый текст бокс который был создан (если был) и положить в лист ссылку на него, а не создавать новый.

    Переключение по Enter, так же не сложно сделать, если известна логика связи текст боксов друг с другом. Т.е. если можно получить ссылку на "следующий" текст бокс, а её можно получить, если всё сделано правильно. В этом случае подписываеся на событие нажатия кнопки клавиатуры, и переводим фокус на следующий текст бокс.

    Если бы было более понятно, что и как вы там программируете, можно было бы дать более полезный ответ :), надеюсь этот поможет.
     
  3. NikSoft

    NikSoft Гость

    Для: госик
    Выложи код
     
  4. Гость

    я решила свою проблему. Теперь у меня другая (с проверкой).
    У меня тупик, не пойму почему вылетает на некотором шаге с ошибкой OutOfRange. Даже в отладке смотрела, не могу понять.
    answer.Length = 36
    kslovo.Count = 9
    size_word - изменяется в зависимости от kslovo.Count

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

    Код (Text):
    private void menuItem6_Check(object sender, System.EventArgs e)
    {                      
    for (int i=0; i<answer.Length; i++)
    {
    for (int j = 0; j<kslovo.Count; j++){
    int size_word = ((KSlovo)kslovo[j]).word.Length;
    for (int d = 0; d<size_word; d++)
    {
    KSlovo k = ((KSlovo)kslovo[i]);
    if (k.word[d].Text!=answer[i].ToString())
    {
    k.word[d].Text = answer[i].ToString();
    k.word[d].ForeColor = Color.Red;
    }
    i++;
    }
    }
    }
    }
     
  5. Pasha

    Pasha Гость

    Пальцем в небо:
    вылетает на строчке:
    KSlovo k = ((KSlovo)kslovo[i]);
    надо
    KSlovo k = ((KSlovo)kslovo[j]);
     
Загрузка...
Похожие Темы - опять кроссворды
  1. vitte
    Ответов:
    10
    Просмотров:
    2.876
  2. Renat11111
    Ответов:
    8
    Просмотров:
    3.702
  3. sanch
    Ответов:
    5
    Просмотров:
    3.083
  4. NickProstoNick
    Ответов:
    5
    Просмотров:
    2.701
  5. aameno2
    Ответов:
    4
    Просмотров:
    3.117

Поделиться этой страницей