Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Dubinetski
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 20

Список завершения набора предлагаемый InteliSense далеко не полный

18.05.2014, 00:15. Показов 1275. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обнаружил, что список завершения набора предлагаемый InteliSense далеко не полный.
Так для кнопки иерархия наследования следующая:

System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ButtonBase
System.Windows.Forms.Button

Автозавершение предлагается только из набора последнего класса (System.Windows.Forms.Button). Например, мне нужно набрать
C#
1
Rectangle rect = btn.ClientRectangle;
Но после ввода точки в предложенном списке нет ClientRectangle, хотя он имеется в System.Windows.Forms.Control от которого наследуется Button.

Это нормально или ошибка в моей VisualStudio? Или может можно как-то настроить, чтобы был виден полный список доступных методов?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.05.2014, 00:15
Ответы с готовыми решениями:

полный перебор двоичного набора
Задача в следующем. Есть набор в котором строго N нулей и М единиц. Необходимо перебрать все возможные варианты комбинаций таких...

Программа, разворачивающая список типа a-z в полный список abc.xyz
Буду благодарен, если кто-то объяснит, как работает данная программа построчно (отлично будет, если написать комментарии к каждой строке...

Составить базу данных об учащихся. Составить программу позволяющую выводить полный список учащихся, список выбравших предмет, список лучших учеников
Составить базу данных об учащихся, предусмотрев поля: Ф.И.О., предметы по выбору, экзаменационные оценки по каждому из них. Составить...

5
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
18.05.2014, 00:17
IntelliSense обращает внимание на using'и, которые для namespace указаны... Вот нужного using, видимо, у Вас и нет.
0
 Аватар для Dubinetski
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 20
18.05.2014, 00:26  [ТС]
Добавил using для всей иерархии наследования. ClientRectangle не появился.
Если вручную ввести, то компилятор разумеется принимает, но не все же будешь помнить.
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
18.05.2014, 00:35
Покажите код, если не сложно, мистика какая-то.
0
 Аватар для Dubinetski
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 20
18.05.2014, 11:38  [ТС]
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
 
namespace Учебный
{
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }
 
        void OvalButon(Button btn)
        {
            GraphicsPath gp = new GraphicsPath();
            Graphics g = CreateGraphics();
 
            Rectangle rect = btn.ClientRectangle;
 
            rect.Inflate(-3 , - 3);
 
            gp.AddEllipse(rect);
 
            btn.Region = new Region(gp);
 
            g.DrawEllipse(new Pen(Color.Black , 2) , btn.Left + 1 , btn.Top + 1 , btn.Width - 3 , btn.Height - 3);
 
            g.Dispose();
 
        }
    }
}
btn.ClientRectangle и btn.Region не видны в автозавершении.

Добавлено через 10 часов 41 минуту
Вот на MSDN написано следующее:
IntelliSense автоматически удаляет элементы из списков завершения интерфейсов и базовых классов (включая как базовые списки объявления классов, так и списки интерфейсов). Например, перечисления не отображаются в списке завершения для базовых классов, так как перечисления для базовых классов не используются. Список завершения базовых классов содержит только интерфейсы и пространства имен. Если в списке выбрать элемент и затем ввести запятую, IntelliSense удалить базовый класс из списка завершения, поскольку Visual C# не поддерживает множественное наследование. Такое же поведение наблюдается у предложений ограничения.
Только вот не могу понять смысл написанного. Означает ли это, что у наследуемых классов в списке завершения не должно быть перечисления элементов базового класса?

Добавлено через 12 минут
Во всяком случае скажите это только у меня так или у Вас тоже? Искать проблему или так и должно быть?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
18.05.2014, 13:02
Лучший ответ Сообщение было отмечено Dubinetski как решение

Решение

Цитата Сообщение от Dubinetski Посмотреть сообщение
Обнаружил, что список завершения набора предлагаемый InteliSense далеко не полный.
В шарпе можно контролировать отображение типов и их членов в IntelliSense через атрибут EditoBrowsableAttribute, в который можно передать перечисление EditorBrowsableState со значением Always (по умолчанию), Advanced или Never.
В первом случае отображается всегда и равносильно отсутствию этого атрибута.
Во втором случае отображаться будет только тогда, когда в свойствах студии включено отображение "продвинутых" членов.
В третьем случае отображаться не будет никогда.

У свойства ClientRectangle класса Control имеется атрибут EditorBrowsable со значением Advanced, значит его отображение можно включить в настройках студии:
Tools -> Options -> Text Editor -> C# -> Снимите галку с Hide advanced members.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2014, 13:02
Помогаю со студенческими работами здесь

Begin108. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если тре
Begin108. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного...

Предлагаемый вариант текста в TextBox должен исчезать при его активации
Здравствуйте! Часто вижу (в основном на сайтах при регистрации) что в полях, которые надо заполнять, находится текст (обычно серый и...

Полный список ошибок
где можно найти полный список описания всех ошибок, типа - 2500 Invalid value. 2501 Invalid page. 2502 Missing or invalid...

Полный список установленных программ
Знатоки файловой системы, у меня вопрос: Что это за папка (data\app\)? Я думал там лежат все установленные программы... Еще часто...

HTML полный список спецсимволов?
Где можно найти? Вот только в одном месте нашел такие. ✈ & #9992; Самалет ⛟ & #9951; Машина ⛽ & #9981; Автозаправка ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru