Вы должны войти, чтобы создавать сообщения и темы.

С# для чайников. Разбор ошибок. [Решено]

Доброго времени суток всем 👋🏻
Всегда подумывал о том, чтобы получить хоть какие-то базовые знания о программировании, а тут как раз наткнулся на уроки Хачатура по C# - грех не поучиться, все очень интересно и доступно, но как это бывает, что возникают некоторые вопросы, с которыми самому разобраться не получается. Для решения этих проблемок решился создать отдельную тему, чтобы не мусорить на форуме отдельными вопросами, которые могут возникать в ходе изучения языка, где люди, которые так же как и я могут искать помощь и советы.
Так вот, друзья, первая проблемка, с которой я не могу разобраться, как бы не пытался, возникла на этапе изучения условий "if". "else". Делаю все по уроку, но сыпятся ошибки, игнорировать их и дальше пытаться учиться - не очень, хотелось бы сразу разобраться, в чем ошибка. Подскажите, пожалуйста, в чем же беда, вот код: 

Спойлер

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {

        int number = 10;
        public Form1()
        {
            InitializeComponent();
        }

        void button1_Click(object sender, EventArgs e)
        {
            if (number == 10);
            {
                label1.Text = "Да";
            }
            else
            {
                label1.Text = "Нет";
            }
        }
    }
}

 


Спасибо!

Привет, Алик 🖐
Скинь точно какие ошибки возникают.

Лайкнул Алик
Алик
В любой непонятной ситуации переходи на beta  © Win 10 Tweaker

вот🙈

Спойлер

Привет дружище!

Рад, что тебя интересует С#.

Заметил у тебя в коде, что ты ставишь точку с запятой после if и перед блоком кода, который должен выполняется
Подробности в подсказке

туть

Ты пишешь

if (number == 10);

а нужно

     if (number == 10)
{
...
}

Точка с запятой там не нужна.

Лайкнули Удаленный пользователь и Алик
Удаленный пользовательАлик

Привет, после if (условие) ; точка с запятой не нужна

Лайкнули XpucT, Удаленный пользователь и Алик
XpucTУдаленный пользовательАлик

блин, ребят, спасибо большое, рад состоять в таком дружеском коммьюнити, глупая, конечно, ошибка была, спасибо за понимание 🧡😊

Лайкнули Удаленный пользователь, Nik_Dilayks и Иван
Удаленный пользовательNik_DilayksИван

Всем доброго времени суток, друзья!
Все еще понемногу изучаю C# по урокам Хачатура и дошел до урока "Уроки C# – Работа со строками – Replace, Contains, Remove, Trim, ToLower, ToUpper", в конце которого Хачатур дал домашнее задание (таймкод: 31:46)
Если кратко суть домашнего задания: 

  1. Сделать так, чтобы в тексте буквы "е" заменялись на "ё"
  2. Сделать так, чтобы вводные слова были в запятых
  3. После того, как текст изменится, кнопка с "Исправить" должна стать "Исправлено", а через пару секунд стать "Скопировать"
  4. После нажатия на кнопку еще раз, то есть, уже по кнопке "Скопировать" - текст должен скопироваться в буфер

Если с другими задачами я худо-бедно справился, то с последим (4-м по списку) - нет. Я просто не совсем пойму, как сделать так, чтобы в Button1_Click только после повторного нажатия на кнопку текст скопировался в буфер. Может нужно как-то реализовать какой-нибудь другой метод, а в нем уже Button1_Click2 или что-то в этом роде) Просто, если я правильно понимаю. то в моей программе после единожды нажатой кнопки вся инструкция пройдет сразу, так что она не дождется повторного нажатия, чтобы скопировать текст.
Код моей "проги":

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Windows.Forms;

namespace Орфография
{
    public partial class Орфограф : Form
    {
        public Орфограф()
        {
            InitializeComponent();
        }
        void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            {
                label1.Visible = false;
            }
            else
            {
                label1.Visible = true;
            }
            
        }

        async void button1_Click(object sender, EventArgs e)
        {
             if (textBox1.Text.Contains ("Пожалуйста,"))
            {
                textBox1.Text = textBox1.Text.Remove(10,1).Trim();
            }
            if (textBox1.Text.Contains("Однако,"))
            {
                textBox1.Text = textBox1.Text.Remove(6, 1);
            }
            if (textBox1.Text.Contains(", пожалуйста,"))
            {

            }
            else
            {
                textBox1.Text = textBox1.Text.Replace(" пожалуйста", ", пожалуйста,");
            }
            if (textBox1.Text.Contains(", однако,"))
            {

            }
            else
            {
                textBox1.Text = textBox1.Text.Replace(" однако", ", однако,");
            }
            textBox1.Text = textBox1.Text.Replace("Все же", "Всё же").Replace("все же", "всё же").Replace("Еще", "Ещё").Replace("еще", "ещё").Replace("Ее", "Её").Replace("ее", "её").Replace("Пожалуйста", "Пожалуйста, ").Replace("Все таки", "Всё таки").Replace("все таки", "всё таки").Replace("Однако", "Однако,").Replace("Пожалуй", "Пожалуй,");

                button1.Text = "Исправлено";
            await Task.Delay(2000);
            button1.Text = "Скопировать текст?";
        }

        async void Орфограф_Load(object sender, EventArgs e)
        {
            for (Opacity = 0; Opacity < 1; Opacity += 0.03)
            {
            await Task.Delay(1);
            }
        }
    }
}

Алик, привет 🖐
Строго говоря, не обязательно держать всё на одной кнопке. Можно повесить и вторую для копирования текста. Так будет даже лучше.

Лайкнул Алик
Алик
В любой непонятной ситуации переходи на beta  © Win 10 Tweaker

Всем привет!
Решил не создавать новую тему т.к. и тут проблемы новичка.
Суть в том, что появилась задачка по работе и решил самостоятельно ее решить... и вот мой опыт в C# - неделя. Деятельность с этим вообще не связана, прошу сильно не ругать, если что-то очевидное. 
По проблеме что-то схожего ничего найти не смог в интернетах.
Проблема:
На второй форме есть textbox, который берет текст из txt файла, добавил кнопку редактирования и обновления. 
+ что бы при запуске формы сразу загружался текст, воткнул в самом начале обновление текст бокса. 

InitializeComponent();
textBox1.Text = File.ReadAllText(@"C:\Disp\info.txt");
InitializeComponent();

В качестве кнопки обновления picture box: 

private void pictureBox1_Click(object sender, EventArgs e)
{
textBox1.Text = File.ReadAllText(@"C:\Aerosoft Disp B1\info.txt");
}

Все работало и не могу понять в какой момент перестало. При открытии формы все так же успешно текст обновляется, но принудительно по нажатию на pictureBox - нет. Перестало. Добавлял кнопку и устанавливал на нее. Добавлял новый textBox и снова ничего. Перезагружал и стукнул по нему и все без успешно. Бубна нет.
Запускал с отладкой устанавливая стоппер на нажатии и поле текс заполняется текстом из файла, но в форме никакого результата.

не могу отредактировать отправленное сообщение( 
Во втором примере кода не скорректировал путь к папке:

private void pictureBox1_Click(object sender, EventArgs e)
{
textBox1.Text = File.ReadAllText(@"C:\Disp\info.txt");
}

 

Извините, если кого-то успел побеспокоить. Нашел сам в чем проблема. 

InitializeComponent();
textBox1.Text = File.ReadAllText(@"C:\Disp\info.txt");
InitializeComponent();

2 раза вписан InitializeComponent(); 
убрал второй и все опять нормально заработало... хотя для меня пока еще не очевидна связь) разобрался только методом проб в тестовом проекте, воспроизводя последовательно действия свои по данной задачке. 
Сталкивался еще с одной проблемой, хотел сделать выплывающее окно при наведении мышки. По примеру изложенному на youtube с двумя формами от @XpucT.
В общем все удалось, вот только окно выезжало всегда снизу остальных элементов на форме, хотя жмакал на нее ПКМ и выбирал "на передний план", но так и не сработало. Планирую еще раз попробовать с "Control.BringToFront()". Если не сработавшее "на передний план" означает, что и Control.BringToFront() не поможет и нужно двигаться по другому пути, то буду признателен за комментарии. 

Лайкнул XpucT
XpucT