Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
1

CheckBox->Button->переход на другую страницу

19.10.2015, 20:54. Показов 6698. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую уважаемый форумчане, подскажите пожалуйста как сделать проверку.
Например имеется CheckBox и Button,
Если галочка в CheckBox не установлен, то при нажатии на Button появлялось сообщение, ну типо нужно поставить галочку в CheckBox. Если галочка стоит, то по нажатию кнопки Button переводит на другую страницу.

Буду весьма благодарен кто подскажет.
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2015, 20:54
Ответы с готовыми решениями:

Переход на другую страницу по нажатию кнопки
как сделать, чтобы при нажатии на кнопку открывалась другая страница? код который работал в...

Тег <button>. Переход на другую страницу по клику
Добрый день, не знал в какую тему задать вопрос, по этому спрошу тут: есть тег &lt;button&gt; в HTML, как...

Переход на разные активити при нажатии button в зависимости от checkbox
Я написал код, который при нажатии на кнопку переходит на другой activity. package...

Переход на другую страницу...
Задача заключается в следующем: Необходимо при ввведении данных на странице index.php перенести их...

10
burning1ife
1462 / 1284 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
19.10.2015, 21:15 2
MVVM подход или по старинке?
0
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
19.10.2015, 21:21  [ТС] 3
Цитата Сообщение от kenny69 Посмотреть сообщение
MVVM подход или по старинке?
Переход на другую страницу. Там у меня стоит текст пользовательское соглашение. Что бы продолжить, нужно поставить галочку что согласен и нажать кнопку продолить
0
Заблокирован
19.10.2015, 23:19 4
Лучший ответ Сообщение было отмечено Favorskij как решение

Решение

Не по теме:

Favorskij, вопрос был не об этом =)


Есть много способов:
1. Можно привязать Button.IsEnabled к CheckBox.IsChecked
2. Привязываете к переменной (например, Checked)
XML
1
IsChecked="{Binding Checked}"
дальше в обработчике события или команды проверяете эту переменную и выводите свое сообщение (Если речь идет о MessageBox)
...
1
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
20.10.2015, 09:17  [ТС] 5
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Есть много способов
Я вообще ни один не знаю и не умею.
Даже не понимаю как это вписать.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public sealed partial class CustomerAgreement : Page
    {
        public CustomerAgreement()
        {
            InitializeComponent();
        }
 
        private void button_Click(object sender, RoutedEventArgs e)
        {
            Frame.Navigate(typeof(Название страницы куда перехожу));
        }
 
        private void checkBox_Checked(object sender, RoutedEventArgs e)
        {
 
        }
    }
}
}
0
Заблокирован
20.10.2015, 10:42 6
Лучший ответ Сообщение было отмечено Favorskij как решение

Решение

Цитата Сообщение от Favorskij Посмотреть сообщение
Даже не понимаю как это вписать.
Favorskij, судя по коду MVVM вы не используете.

Первый способ, простой пример:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto"></RowDefinition>
    <RowDefinition Height="Auto"></RowDefinition>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto"></ColumnDefinition>
    <ColumnDefinition Width="Auto"></ColumnDefinition>
  </Grid.ColumnDefinitions>
  <CheckBox Name="chb" Margin="5" Grid.Row="0" Grid.Column="0"></CheckBox>
  <TextBlock Margin="5" Grid.Row="0" Grid.Column="1">Some Text</TextBlock>
  <Button Margin="5" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" IsEnabled="{Binding ElementName=chb,Path=IsChecked}"> Click</Button>
  </Grid>
</Window>
Название: img.png
Просмотров: 134

Размер: 10.5 Кб

Если вы хотите изменять галочку CheckBox из кода, то первый способ вам не подходит.
1
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
20.10.2015, 10:59  [ТС] 7
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Если вы хотите изменять галочку CheckBox из кода, то первый способ вам не подходит

Спасибо большое очень помогло. Интересный такой способ, кокрас такой и подходит.

Мне интересен еще способ из первого кода. В него еще вписывают не только проверку CheckBox но и если человек нажимает кнопку то появляется сообщение что нужно поставить галочку. Потому что мне в будущем очень пригодится такой способ, и что бы потом больше не задавать лишних вопросов.


Спасибо вам огромное.
0
Заблокирован
20.10.2015, 12:27 8
Лучший ответ Сообщение было отмечено Favorskij как решение

Решение

Цитата Сообщение от Favorskij Посмотреть сообщение
Мне интересен еще способ из первого кода. В него еще вписывают не только проверку CheckBox но и если человек нажимает кнопку то появляется сообщение что нужно поставить галочку.
Favorskij, не уверен, что правильно вас понял.

C#
1
2
3
4
5
6
7
8
9
10
11
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (chb.IsChecked.Value)
            {
                //DoSomething
            }
            else
            {
                MessageBox.Show("Нажмите галочку!");
            }
        }
в xaml:
XML
1
 <Button Margin="5" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Click="Button_Click_1">Click</Button>
Пример использования MVVM на C# я, к сожалению, привести не могу.
Но вот пример на F#:
XAML:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"></ColumnDefinition>
            <ColumnDefinition Width="Auto"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <CheckBox Margin="5" Grid.Row="0" Grid.Column="0" IsChecked="{Binding Checked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></CheckBox>
        <TextBlock Margin="5" Grid.Row="0" Grid.Column="1" Text="Some Text"></TextBlock>
        <Button Margin="5" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Content="Click Me" Command="{Binding OpenCommand}"></Button>
    </Grid>
.fs:

F#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
type MainView = XAML<"MainWindow.xaml", true>
 
type MainViewModel() as self = 
    inherit ViewModelBase()  
    
    let check = self.Factory.Backing(<@ self.Checked @>, false)
 
    let ButtonClick() = 
        if check.Value then () else MessageBox.Show("Нажмите галочку") |> ignore
            
    let openCommand = self.Factory.CommandSync(ButtonClick)
 
    member self.OpenCommand = openCommand
    member self.Checked with get() = check.Value and set value = check.Value <- value
На всякий случай прикрепляю архив с кодом на F#
Вложения
Тип файла: rar SimpleExample.rar (1.23 Мб, 8 просмотров)
1
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
20.10.2015, 14:52  [ТС] 9
Не открывается ваш проект

Кликните здесь для просмотра всего текста
Не поддерживается
В этой версии Visual Studio невозможно открыть следующие проекты. Возможно, типы проектов не установлены или данная версия Visual Studio не поддерживает их.
Дополнительные сведения о включении поддержки этих типов проектов или о переносе ваших активов иным образом см. сведения в "Отчете о переносе", который отображается после нажатия кнопки "ОК".
- SimpleExample, "D:\Мои документы\visual\myproject\SimpleExample\SimpleExample\SimpleExample\SimpleExamp le.fsproj"


Изменения не требуются.
Эти проекты можно без внесения изменений открыть в Visual Studio 2015, Visual Studio 2013, Visual Studio 2012 и Visual Studio 2010 с пакетом обновления 1 (SP1).
- SimpleExample, "D:\Мои документы\visual\myproject\SimpleExample\SimpleExample.sln"


CheckBox->Button->переход на другую страницу


Сейчас буду ваш код ковырять который вы тут на странице написали.
0
Заблокирован
20.10.2015, 16:17 10
Цитата Сообщение от Favorskij Посмотреть сообщение
Не открывается ваш проект
Favorskij, а что у вас за VS?
1
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
20.10.2015, 17:05  [ТС] 11
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а что у вас за VS?
Я в бленде открывал, поэтому ни чего не получалось.
У меня интерпрайс 2015.

В общем сейчас открыл все это дело не в бленде. Все открылось и работает. Только одно пишет что не допустимая разметка, поэтому конструктор не показывает.
Ну это ладно, главное все сработало, спасибо большое)))
0
20.10.2015, 17:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2015, 17:05
Помогаю со студенческими работами здесь

Переход на другую страницу
Всем доброго времени суток. Помогите пожалуйста сделать переход на другую страницу. Делаю php...

Переход на другую страницу
Как перейти на другую страницу например при нажатии на html элементы такие как div или table

Переход на другую страницу!
Добрый вечер!Подскажите с помощью какого скрипта можно сделать что бы по истечении определенного...

Переход на другую страницу
Все привет.Помогите решить проблему. Есть в одном файле html форма в данные с которой передам в...


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

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