Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для Elektrik72
51 / 15 / 7
Регистрация: 09.02.2014
Сообщений: 209

Отличие GetLeft от GetRight

03.06.2022, 00:59. Показов 1120. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Может странный вопрос но чем отличается GetRight от GetLeft?
И то и то позиционирование на экране?
Почему этот код с GetLeft работает.(есть две кнопочки, при наведении на кнопку "Нет" она меняется местами с кнопкой "Да")

C#
1
2
3
4
5
6
7
8
9
private void not_MouseEnter(object sender, MouseEventArgs e)
        {
            var posicLeftOk = Canvas.GetLeft(ok);
            var posicLeftNot = Canvas.GetLeft(not);
 
            Canvas.SetLeft(ok, posicLeftNot);
            Canvas.SetLeft(not, posicLeftOk);
            
        }
А этот нет

C#
1
2
3
4
5
6
7
8
9
private void not_MouseEnter(object sender, MouseEventArgs e)
        {
            var posicLeftOk = Canvas.GetRight (ok);
            var posicLeftNot = Canvas.GetRight (not);
 
            Canvas.SetRight(ok, posicLeftNot);
            Canvas.SetRight(not, posicLeftOk);
            
        }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2022, 00:59
Ответы с готовыми решениями:

Не срабатывает Canvas.GetLeft у дочерних элементов
Всем привет ) Скажите пожалуйста как получить Left и Top у дочерних объектов например объекта типа Grid, чтоб потом можно было сделать...

Отличие AC от DC
Приветствую! Я видел на ютюбе и читал на некоторых форумах, что можно присобачить компьютерный вентилятор к 12в блоку питания ac/dc. Так...

Отличие С от С++
В чем отличие языка С от С++

8
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
03.06.2022, 07:53
что такое Canvas?
0
 Аватар для Elektrik72
51 / 15 / 7
Регистрация: 09.02.2014
Сообщений: 209
03.06.2022, 13:10  [ТС]
ViterAlex, Ну это холст на который все крепиться. Вы имеете в ввиду что GetLeft отсчет координат начинается с 0. Поэтому он работает?
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
03.06.2022, 13:40
Elektrik72, что это за класс, я имею ввиду
0
 Аватар для Elektrik72
51 / 15 / 7
Регистрация: 09.02.2014
Сообщений: 209
03.06.2022, 21:37  [ТС]
ViterAlex, тут более подробно чем ответил я
https://docs.microsoft.com/ru-... mework-4.8
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
03.06.2022, 22:35
Лучший ответ Сообщение было отмечено Elektrik72 как решение

Решение

А, так это из WPF. Тогда не в этот раздел. Но я отвечу. Эти методы отвечают за изменение соответствующих свойств Canvas.Left, Canvas.Right у дочернего контрола. В свою очередь изменение Canvas.Left меняет положение контрола, а Canvas.Right — размер.
1
 Аватар для Elektrik72
51 / 15 / 7
Регистрация: 09.02.2014
Сообщений: 209
03.06.2022, 23:15  [ТС]
ViterAlex, Спасибо! Интересно почему они решили так назвать метод который изменяет размер.
А еще и описание такое "Получает или задает значение, определяющее расстояние между правой границей элемента и правой границей родительского Canvas." Как люди разбираются в этом, описание и определение же не соответствует действию метода
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
04.06.2022, 10:25
Elektrik72, я был не совсем прав. Набросал тут пример
XML
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
41
42
43
44
45
46
47
48
49
50
<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        d:DataContext="local:ViewModel"
        Title="MainWindow"
        WindowState="Maximized"
        Height="450"
        Width="800">
  <Window.Resources>
    <ResourceDictionary>
      <Style TargetType="{x:Type TextBlock}">
        <Setter Property="Margin"
                Value="10,0,3,0" />
      </Style>
      <Style TargetType="{x:Type TextBox}">
        <Setter Property="MinWidth"
                Value="45" />
      </Style>
    </ResourceDictionary>
  </Window.Resources>
  <Grid Margin="3">
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"></RowDefinition>
      <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <StackPanel Orientation="Horizontal"
                Grid.Row="0"
                Margin="3">
      <TextBlock Text="Left:" />
      <TextBox x:Name="LeftPos" />
      <TextBlock Text="Top:" />
      <TextBox x:Name="TopPos" />
      <TextBlock Text="Right:" />
      <TextBox x:Name="RightPos" />
      <TextBlock Text="Bottom:" /> 
      <TextBox x:Name="BottomPos" />
    </StackPanel>
    <Canvas Background="Yellow"
            Grid.Row="1">
      <Button Canvas.Left="{Binding ElementName=LeftPos, Path=Text}"
              Canvas.Top="{Binding ElementName=TopPos, Path=Text}"
              Canvas.Right="{Binding ElementName=RightPos, Path=Text}"
              Canvas.Bottom="{Binding ElementName=BottomPos, Path=Text}">Button in Canvas</Button>
    </Canvas>
  </Grid>
</Window>
Left и Right взаимоисключают друг друга. Так же Top, Bottom. На размер элемента они не влияют, только на положение.
1
 Аватар для Elektrik72
51 / 15 / 7
Регистрация: 09.02.2014
Сообщений: 209
04.06.2022, 14:04  [ТС]
Да, протестировал, работает. Спасибо за пример! Но тогда вопрос остается открытым. Почему второй вариант кода сверху не работает?
Надо разобраться, а то теперь не усну)

XML
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
41
42
43
44
45
46
47
48
49
50
51
52
53
<Window x:Class="test_vizual.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        MinHeight ="100 "
        MaxHeight="1000"
        xmlns:local="clr-namespace:test_vizual"
        mc:Ignorable="d"
        Title="Tigi" Height="215" Width="346">
    <Grid Margin="0,0,453,117">
        <Grid.ColumnDefinitions>
 
            <ColumnDefinition Width="37*"/>
            <ColumnDefinition Width="165*"/>
            <ColumnDefinition Width="12*"/>
            <ColumnDefinition Width="87*"/>
            <ColumnDefinition Width="57*"/>
            <ColumnDefinition Width="442*"/>
        </Grid.ColumnDefinitions>
        <Canvas x:Name="Tigi_na_korm">
            <Button x:Name="ok"
                Grid.Column="3" 
                Content="Да" 
                HorizontalAlignment="Left" 
                VerticalAlignment="Top"
               
                Grid.ColumnSpan="2"
                Height="20" 
                Width="72"
                Click="test_click" Canvas.Left="60" Canvas.Top="132"
                />
            <Button x:Name="not"
            Grid.Column="5" 
            Content="Нет" 
            HorizontalAlignment="Left" 
            VerticalAlignment="Top"
            Height="20" 
            Width="72"
            Click="test_click" MouseEnter="not_MouseEnter" Canvas.Left="188" Canvas.Top="132"
                />
            <TextBlock x:Name="text"
                   Grid.Column="3"
                   HorizontalAlignment="Left" 
                   TextWrapping="Wrap"
                   Background="BurlyWood"
                   Text="Какой то текст" 
                   VerticalAlignment="Center" Grid.ColumnSpan="3" Canvas.Left="74" Canvas.Top="64"/>
 
 
        </Canvas>
    </Grid>
</Window>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2022, 14:04
Помогаю со студенческими работами здесь

Отличие ^ от .^
Почему нельзя использовать ^ вместо .^ t=0:0.1:1; x=t^2; plot(x); Что обозначает elementwise power в сообщении об ошибке ...

Отличие.
чем данная запись нахождения интеграла void tab(double a,double b,double dx,double (*f)(double x)) { double s=0; double...

Отличие px от em
Собственно САБЖ. Всё же многие пишут в css например margin-bottom:0.9em; а остальные margin-bottom:15px;

Отличие // от /// и /** */ от /* */
В чем их отличия?

Отличие em от %
Всем привет! Подскажите пожалуйста в чем принципиальное отличие em от % ?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru