Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для p_r_a_g_m_a
112 / 64 / 23
Регистрация: 08.03.2012
Сообщений: 211

Глюк Visual Studio 2010?

13.02.2016, 10:16. Показов 1155. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Возникла проблема при работе с конструктором WinForms (C# проект). Создал свой UserControl, помещаю его на одну из страниц TabControl-а, перехожу на другую его страницу где есть обычные GroupBox-ы, и наблюдаю картину - размеры GroupBox-ов сбились, положение тоже (уходит в минуса). При удалении моего UserControla все работает нормально. Где может сидеть этот гадкий баг? Заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2016, 10:16
Ответы с готовыми решениями:

Проект C# Visual Studio 2010 перевести в Visual Studio 2005
Подскажите как проект создан в C# Visual Studio 2010 перевести в версию Visual Studio 2005, пожалуйста..

Литература по Visual Studio 2010
Посоветуйте книжку по самой среде программирования(панельки вкладки списки структура программы...и т.п.) Visual Studio 2010 (...C#...)

Visual Studio 2015 and 2010
Еще раз добрый вечер, такой вопрос, сам я работаю на Visual Studio 2015 , а оказалось, что в универе стоит 2010-2012 версия , откроет ли...

7
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
13.02.2016, 10:24
Ну так код юзер контрола бы дал, зачем телепатию подключать, у меня есть VS 2010 Express - могу проверить попробовать.
1
 Аватар для p_r_a_g_m_a
112 / 64 / 23
Регистрация: 08.03.2012
Сообщений: 211
13.02.2016, 10:34  [ТС]
Цитата Сообщение от Woldemar89 Посмотреть сообщение
Ну так код юзер контрола бы дал, зачем телепатию подключать, у меня есть VS 2010 Express - могу проверить попробовать.
Сделал
Вложения
Тип файла: zip Src.zip (9.9 Кб, 4 просмотров)
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
13.02.2016, 11:04
Цитата Сообщение от p_r_a_g_m_a Посмотреть сообщение
Сделал
Это не юзер контрол, это шняга которая имеет кучу зависимостей от проекта в котором находится, как мне ее цеплять-то?

Убрал зависимости (закомментил кучу строк), пространство имен переделал - зацепил - у меня все норм, поместил на 1ю вкладку
tabControla - на 2ю - еще накидал всего подряд. Ничего у меня не сбилось.

Смущает строка if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) return;
и неизвестно что происходит в ErrorManager и AppManager.

Думаю собака зарыта в состоянии контрола - в дизайне или не в дизайне он. LicenseUsageMode.Designtime.

А смещения в конструкторе или при выполнении?
0
 Аватар для p_r_a_g_m_a
112 / 64 / 23
Регистрация: 08.03.2012
Сообщений: 211
13.02.2016, 11:16  [ТС]
Цитата Сообщение от Woldemar89 Посмотреть сообщение
Это не юзер контрол, это шняга которая имеет кучу зависимостей от проекта в котором находится, как мне ее цеплять-то?
Не стал кидать весь проект) В зависимостях нет ничего специфического.
Цитата Сообщение от Woldemar89 Посмотреть сообщение
Смущает строка if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) return;
Это стандартные классы .NET, проверяющие откуда выполняется код - из графического редактора форм студии или при выполнении программы.
Цитата Сообщение от Woldemar89 Посмотреть сообщение
и неизвестно что происходит в ErrorManager и AppManager.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Windows.Forms;
using PostExchangeManager.Auth;
using PostExchangeManager.Users;
 
 
namespace PostExchangeManager.App {
    public static class ErrorManager {
        /// <summary>
        /// Выводит сообщение с текстом ошибки
        /// </summary>
        /// <param name="error">Исключение, текст которого будет выведен</param>
        public static void ShowErrorMessage(Exception error) {
            string message = (AuthManager.GetUserType == UsersManager.UserType.Admin) ? error.ToString() : error.Message;
            MessageBox.Show("Произошла внутренняя ошибка. Обратитесь в отдел ГИТ по телефону ***.\n\nТекст ошибки:\n" + message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
 
        /// <summary>
        /// Выводит сообщение с текстом ошибки
        /// </summary>
        /// <param name="error">Текст ошибки который будет выведен</param>
        public static void ShowErrorMessage(string error) {
            MessageBox.Show("Произошла внутренняя ошибка. Обратитесь в отдел ГИТ по телефону ***.\n\nТекст ошибки:\n" + error, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Data.SQLite;
using System.Data.SqlServerCe;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using PostExchangeManager.Auth;
 
 
namespace PostExchangeManager.App {
    public static class AppManager {
        ....
 
        [DllImport("user32.dll")]
        private static extern int SendMessage(IntPtr hWnd, Int32 wMsg, bool wParam, Int32 lParam);
 
        private const int WM_SETREDRAW = 11;
 
        /// <summary>
        /// Выполняет проверку, является заданный путь папкой или файлом
        /// </summary>
        /// <param name="path">Проверяемый путь</param>
        /// <returns></returns>
        public static bool IsPathDirectory(string path) {
            FileAttributes attr = File.GetAttributes(path);
 
            return ((attr & FileAttributes.Directory) == FileAttributes.Directory);
        }
 
        public static void ListViewDisableRedraw(ListView lv, bool flag) {
            SendMessage(lv.Handle, WM_SETREDRAW, !flag, 0);
            if (!flag) {
                lv.Refresh();
            }
        }
        ....
    }
}
Цитата Сообщение от Woldemar89 Посмотреть сообщение
А смещения в конструкторе или при выполнении?
В конструкторе форм студии. Ну и естественно, когда запускаю проект, при сборке все смещается тоже т.к. эти параметры прописываются в *.Desinger.cs.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
13.02.2016, 12:43
Цитата Сообщение от p_r_a_g_m_a Посмотреть сообщение
C#
1
2
3
[DllImport("user32.dll")]
private static extern int SendMessage(IntPtr hWnd, Int32 wMsg, bool wParam, Int32 lParam);
private const int WM_SETREDRAW = 11;
Это еще зачем?
Цитата Сообщение от p_r_a_g_m_a Посмотреть сообщение
LicenseManager.UsageMode == LicenseUsageMode.Designtime
За это тоже поясните

Мне кажется, дело в глюке VS, либо в этих местах, либо все вместе.
Сделайте ваш usercontrol независимым и не пользуйтесь чем попало (я про то, что выше), может, глюки исчезнут.
1
 Аватар для p_r_a_g_m_a
112 / 64 / 23
Регистрация: 08.03.2012
Сообщений: 211
13.02.2016, 12:46  [ТС]
Цитата Сообщение от Woldemar89 Посмотреть сообщение
Это еще зачем?
Когда в цикле добавляешь/удаляешь Item-ы в ListView с включенной прорисовкой самого элемента, то время выполнения операции занимает намного больше времени чем при отключенной. Поэтому:
C#
1
SendMessage(lv.Handle, WM_SETREDRAW, !flag, 0);
Цитата Сообщение от Woldemar89 Посмотреть сообщение
За это тоже поясните
Вот, как пример: http://stackoverflow.com/quest... time-rules
Цитата Сообщение от Woldemar89 Посмотреть сообщение
Мне кажется, дело в глюке VS, либо в этих местах. Где то косяк, неверное использование итд.
Я тоже так думаю. Ну, буду экспериментировать на кошках)
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
13.02.2016, 13:11
Цитата Сообщение от p_r_a_g_m_a Посмотреть сообщение
Когда в цикле добавляешь/удаляешь Item-ы в ListView с включенной прорисовкой самого элемента
Цитата Сообщение от p_r_a_g_m_a Посмотреть сообщение
Вот, как пример
Мне кажется ваши проблемы можно решить поизящнее, не прибегая к вырезанию гланд через неприспособленные для этого места.
Цитата Сообщение от p_r_a_g_m_a Посмотреть сообщение
Ну, буду экспериментировать на кошках
У меня ничего не сломалось, возможно как раз из за того, что косяк находился находился в части нерабочего кода, которую я закомментил.
Пробуйте в общем, возможные причины - практически очевидны, попробуйте их устранить и проверить,
советую пользоваться системой управления версиями, создавать для экспериментов новую ветку, или реверты делать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2016, 13:11
Помогаю со студенческими работами здесь

Шахматная доска на C# в visual studio 2010
Помогите, пожалуйста, решить задачу: Выведите на форму, используя класс Graphics, шахматную доску. Ну и чтобы соответственно по бокам были...

Редактирование кода в Visual Studio 2010
Добрый день! Только начал изучать язык, работаю по книге с Windows Forms. Часто возникает проблема при выполнении практических заданий:...

Посоветуйте книгу по Visual Studio 2010 и C#
посоветуйте пожалуйста книгу(и) по Visual Studio 2010 и C# для начинающих на русском языке. отдельно буду признателен за ссылочки для...

Опубликовать приложение на Visual Studio 2010
Помогите пожалуйста решит проблему. Приложение соединен с базой данных находящийся на SQL SERVER, процесс публикации проходить без...

Как создать Hello World в visual studio 2010? (C#)
привет. скажите как создать Hello World в visual studio 2010? я так понимаю: Студия 2010 --&gt; Файл -- Создать -- Проект -- ? а дальше...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru