Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
1

Как сместить кнопку и label

18.01.2016, 08:05. Показов 1765. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно чтобы при нажатии на кнопку "Скрыть" сама эта кнопка и label меняли расположение на форме(также название скрыть меняется на показать). А при нажатии на "Показать" обратно возвращаются на первоначальное расположение. Если задаю новые координаты то при развертывании формы на весь экран свойство Anchor почему то не работает. А если не задаю новые координаты то работает.

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
41
42
43
44
45
46
47
48
49
50
51
 private void Form1_Load(object sender, EventArgs e)
        {
            buttonHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
            zedGraph.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Top)));
            this.WindowState = FormWindowState.Maximized;
 
        }
        
        int vkl = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            
            vkl++;
            if (vkl % 2 == 0)
            {
                buttonHide.Text = "Cкрыть";
                //buttonHide.Location = new System.Drawing.Point(877, 510);
                buttonHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
                tabControl1.Visible = true;
                labelTimeStart.Visible = true;
                textBoxTimeStart.Visible = true;
                labelTimeFinish.Visible = true;
                textBoxTimeFinish.Visible = true;
                //labelBackGround.Location = new System.Drawing.Point(12, 510);
                //zedGraph.Size = new System.Drawing.Size(940, 466);
            }
            else
            {
                buttonHide.Text = "Показать";
                
                //labelOfAxis1[0].Location = new System.Drawing.Point(this.labelBackGround.Location.X + 3, this.labelBackGround.Location.Y + 2);
                for (int j = 1; j < countOfAxis; j++)
                {
                    //labelOfAxis1[j].Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
                    //labelOfAxis1[j].Location = new System.Drawing.Point(877, 718);
                }
                //buttonHide.Location = new System.Drawing.Point(877, 718);
                buttonHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
                //zedGraph.Size = new System.Drawing.Size(940, 680);
                //zedGraph.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                //| System.Windows.Forms.AnchorStyles.Left)
                //| System.Windows.Forms.AnchorStyles.Right)));
                tabControl1.Visible = false;
                labelTimeStart.Visible = false;
                textBoxTimeStart.Visible = false;
                labelTimeFinish.Visible = false;
                textBoxTimeFinish.Visible = false;
                //labelBackGround.Location = new System.Drawing.Point(12, 718);
 
            }
        }
Миниатюры
Как сместить кнопку и label   Как сместить кнопку и label  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2016, 08:05
Ответы с готовыми решениями:

Как сместить кнопку и чтоб при развертывании на все окно формы она тоже смещалась
Вот у меня есть код, я хочу чтоб при нажатии на кнопку она смещалась на другое место, и при...

Как же сместить эту кнопку?
Добрый вечер всем,имеются поля ввода Имени и email но вот кнопка рядом,косится...как ее поднять...

Как повернуть label или кнопку?
Всем привет, подскажите пожалуйста как поворачивать элементы типа кнопок,надписей,панелей на угол,...

Как выводить случайные числа в Label при нажатии на кнопку
Необходимо следующее: есть label1.Text,который вначале отсутствует(или может равнятся 0),и кнопка...

7
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
18.01.2016, 13:59 2
Лучший ответ Сообщение было отмечено OwenGlendower как решение

Решение

SVD102,
Это велосипед.
Есть такой элемент управления - SplitContainer.
Размещаете на форме, настраиваете свойства:
Dock = Fill
Orientation = Horizontal
BorderStyle = FixedSindle
FixedPanel = Panel2 - нижняя
Настраиваете высоту нижней панели сплиттером (разделителем).
Обработчик кнопки Показать/Скрыть:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void button1_Click(object sender, EventArgs e)
{
    if (!splitContainer1.Panel2Collapsed)
    {
        this.Height = this.Height - 100; //100 - высота нижней панели, определяется, как разность высоты SplitContainer и свойства SplitterDistance. Но нужно экспериментировать (+/-5), чтобы кнопка не дергалась.
        button1.Text = "Показать";
    }
    else
    {
        this.Height = this.Height + 100;
        button1.Text = "Скрыть";
    }
    splitContainer1.Panel2Collapsed = !splitContainer1.Panel2Collapsed;
}
0
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
18.01.2016, 14:58  [ТС] 3
У меня пропадают все элементы с формы, то есть они на заднем плане получаются.
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
18.01.2016, 15:03 4
Цитата Сообщение от SVD102 Посмотреть сообщение
пропадают все элементы с формы
Элементы нужно перенести на панели сплитконтейнера.
0
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
18.01.2016, 15:11  [ТС] 5
Не получается. Ошибка выходит.

Добавлено через 4 минуты
this.splitcontainer1.Controls.Add(this.button1); пишу так и ошибка выходит. Написано что доступно только для чтения ...
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
18.01.2016, 15:31 6
Нужно добавлять на одну из панелей:
C#
1
splitContainer1.Panel1.Controls.Add(button1);
0
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
19.01.2016, 07:05  [ТС] 7
Все равно не остается позади панели.

Добавлено через 50 секунд
Все равно остается сзади панели кнопка.
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
20.01.2016, 13:02 8
Посмотри, как это работает. Label и кнопка кладется в обычную панель.
=============================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Sdvig_na_forme
{
public partial class Form1 : Form
{
string bg = "Начальное положение";
string en = "Сдвинутое положение";
string bn = "Сдвинуть";
string be = "Вернутся";
public Form1()
{
InitializeComponent();
label1.Text = bg;
button1.Text = bn;
}

private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == bn)
{
button1.Text = be; label1.Text = en;
panel1.SetBounds(panel1.Location.X, panel1.Location.Y + 110, panel1.Size.Width, panel1.Size.Height);

this.Refresh();
}
else
{
button1.Text = bn; label1.Text = bg;
panel1.SetBounds(panel1.Location.X, panel1.Location.Y - 110, panel1.Size.Width, panel1.Size.Height);

this.Refresh();
}
}
}
}
0
20.01.2016, 13:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2016, 13:02
Помогаю со студенческими работами здесь

Как сделать, чтобы при нажатии на кнопку, Label добавлялся в низ панели?
Здравствуйте. Есть проблема, не знаю как решить. Подскажите пожалуйста. Суть проблемы такова:...

Создать на форме кнопку очистки элементов управления Label от старых данных и кнопку заполнения этих элементов с
Создать на форме кнопку очистки элементов управления Label от старых данных и кнопку заполнения...

Как сделать чтоб при нажатии на кнопку 10 лучших результатов сортировались и выводились в Label, а остальные у
В файл записываются строки вида: Игрок1 : 4000 Игрок2 : 2000 Игрок3 : 3000 Игрок4 : 1000 ...

Как сделать так, чтобы при нажатии на кнопку надпись (label) выводилась на экран, а после повторного нажатия исчезала?
Как сделать так чтобы при нажатии на кнопку надпись (label) выводилась на экран, а после повторного...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru