Логарифм Интегралыч
Логарифм Интегралыч Копипаст
11 апреля 2019, 09:41

Учим C# Windows Forms зная Basic

Учим C# Windows Forms зная Basic

Цель данной темы: разместить в интернет программы
по каким возможно быстро выучить C# зная basic

Никому никогда ничего не рекомендую и всегда пишу только про себя

Предыдущая тема: Учим C# зная basic
Программы созданы мной на основе моей главной программы
где запрограммирован мой алгоритм в нескольких вариантах
и теперь программирую на C# сразу без перевода из basic

? Почему C# & basic?
Потому что компилируемые и есть онлайн компиляторы
и компилятор C# включен в Windows 7 Framework

Программы проверены: работают и каждый может проверить
и лично я компилирую и стартую через простейший bat

программа решающая квадратное уравнение

Учим C# Windows Forms зная Basic
результаты вычисляются при каждом нажатии
и результаты округляются до 2-х знаков после запятой
и нажав спец кнопку данные данные сохраняются на диск
и возможно сохранять настроенную конфигурацию
//winquall.cs
using System;
using System.Windows.Forms;
using System.IO;

class winQUAll : Form
{
winQUAll()
{
Text= "winQUAll Например A=6 B=7 C=2";
BackColor = System.Drawing.Color.Green;
ForeColor = System.Drawing.Color.White;
ResizeRedraw = true;
Width = 400;
Height = 250;
{
var buttons = new Button();
buttons.Text= "SAVE";
buttons.Dock = DockStyle.Top;
    var zc = -7;
    var labelc = new Label();
    var buttonc = new Button();
    buttonc.Text= "C+3";
    buttonc.Dock = DockStyle.Bottom;
var zb = 12;
var labelb = new Label();
var buttonb = new Button();
buttonb.Text= "B-1";
buttonb.Dock = DockStyle.Bottom;
    var za = 2;
    var labela = new Label();
    var buttona = new Button();
    buttona.Text= "A+1";
    buttona.Dock = DockStyle.Bottom;
var labelx = new Label();
    var d = (zb * zb - 4 * za * zc);
    double x1 = (-zb + Math.Sqrt(d)) / (2 * za);
    double x2 = (-zb - Math.Sqrt(d)) / (2 * za);
    var labeld = new Label();
labeld.Text= "d= " + d +"   X1= " + x1 + "   X2= " + x2 + "  ";
labeld.Dock = DockStyle.Top;
x1 = (Math.Truncate(x1 * 100))/100;
x2 = (Math.Truncate(x2 * 100))/100;
    //labeld.Location = new System.Drawing.Point(80, 15);
labelx.Text= "X1=" + x1 + " X2=" + x2 + "  ";
labelx.Location = new System.Drawing.Point(125, 125);
Controls.Add(labeld);
Controls.Add(labelx);
    labelc.Text= "C=" + zc + ".....";
    labelc.Location = new System.Drawing.Point(20, 100);
Controls.Add(labelc);
buttonc.Click += delegate
    {
    zc = zc+3;
    d = (zb * zb - 4 * za * zc);
    x1 = (-zb + Math.Sqrt(d)) / (2 * za);
    x2 = (-zb - Math.Sqrt(d)) / (2 * za);
labeld.Text= "d= " + d +"   X1= " + x1 + "   X2= " + x2 + "  ";
labeld.Dock = DockStyle.Top;
x1 = (Math.Truncate(x1 * 100))/100;
x2 = (Math.Truncate(x2 * 100))/100;
    //labeld.Location = new System.Drawing.Point(80, 15);
labelx.Text= "X1=" + x1 + " X2=" + x2 + "  ";
labelx.Location = new System.Drawing.Point(125, 125);
labelc.Text= "C=" + zc + "  ...";
labelc.Location = new System.Drawing.Point(20, 100);
    };
Controls.Add(buttonc);
Controls.Add(labeld);
Controls.Add(labelx);
    labelb.Text= "B=" + zb + ".....";
    labelb.Location = new System.Drawing.Point(50, 80);
Controls.Add(labelb);
buttonb.Click += delegate
    {
    zb--;
    d = (zb * zb - 4 * za * zc);
    x1 = (-zb + Math.Sqrt(d)) / (2 * za);
    x2 = (-zb - Math.Sqrt(d)) / (2 * za);
labeld.Text= "d= " + d +"   X1= " + x1 + "   X2= " + x2 + "  ";
labeld.Dock = DockStyle.Top;
x1 = (Math.Truncate(x1 * 100))/100;
x2 = (Math.Truncate(x2 * 100))/100;
    //labeld.Location = new System.Drawing.Point(80, 15);
labelx.Text= "X1=" + x1 + " X2=" + x2 + "  ";
labelx.Location = new System.Drawing.Point(125, 125);
labelb.Text= "B=" + zb + "  ...";
labelb.Location = new System.Drawing.Point(50, 80);
    };
Controls.Add(buttonb);
Controls.Add(labeld);
Controls.Add(labelx);
    labela.Text= "A=" + za + ".....";
    labela.Location = new System.Drawing.Point(80, 60);
Controls.Add(labela);
buttona.Click += delegate
    {
    za++;
    d = (zb * zb - 4 * za * zc);
    x1 = (-zb + Math.Sqrt(d)) / (2 * za);
    x2 = (-zb - Math.Sqrt(d)) / (2 * za);
labeld.Text= "d= " + d +"   X1= " + x1 + "   X2= " + x2 + "  ";
labeld.Dock = DockStyle.Top;
x1 = (Math.Truncate(x1 * 100))/100;
x2 = (Math.Truncate(x2 * 100))/100;
    //labeld.Location = new System.Drawing.Point(80, 15);
labelx.Text= "X1=" + x1 + " X2=" + x2 + "  ";
labelx.Location = new System.Drawing.Point(125, 125);
labela.Text= "A=" + za + "  ...";
labela.Location = new System.Drawing.Point(80, 60);
    };
Controls.Add(buttons);
buttons.Click += delegate
    {
var outFile = new StreamWriter("dan.txt");
outFile.WriteLine(za);
outFile.WriteLine(zb);
outFile.WriteLine(zc);
outFile.WriteLine(d);
outFile.WriteLine(x1);
outFile.WriteLine(x2);
outFile.Close();
    };
Controls.Add(buttona);
Controls.Add(labeld);
Controls.Add(labelx);
    };
}
    static void Main()
    {
Application.Run(new winQUAll());
    }
}



1cs=1exe

и далее испытываю движки и окна внутри окна 

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

Учим C# Windows Forms зная Basic
//poleZAP.cs
using System;
using System.Windows.Forms;
namespace poleZAP
{
    public class Program
    {
    static void Main()
    {
Application.Run(new poleZAP());
    }
    }
    class poleZAP : Form
    {
    TextBox textBoxA;
    TextBox textBoxB;
    TextBox textBoxC;
    Button buttonD;
public poleZAP()
    {                       
    textBoxA=new TextBox();
        textBoxA.Text = "6";
    textBoxB=new TextBox();
        textBoxB.Text = "7";
    textBoxC=new TextBox();
        textBoxC.Text = "2";
textBoxA.Location = new System.Drawing.Point(150, 50);
textBoxB.Location = new System.Drawing.Point(100, 100);
textBoxC.Location = new System.Drawing.Point(50, 150);
    this.Controls.Add(textBoxA);
    this.Controls.Add(textBoxB);
    this.Controls.Add(textBoxC);

var labelq = new Label();
labelq.Text = "Input A= 6 & B= 7 & C= 2";
labelq.Dock = DockStyle.Top;
Controls.Add(labelq);
    var labelA = new Label();
    labelA.Text = "A= ";
    labelA.Location = new System.Drawing.Point(130, 52);
    Controls.Add(labelA);
var labelB = new Label();
labelB.Text = "B= ";
labelB.Location = new System.Drawing.Point(80, 102);
Controls.Add(labelB);
    var labelC = new Label();
    labelC.Text = "C= ";
    labelC.Location = new System.Drawing.Point(30, 152);
    Controls.Add(labelC);
buttonD = new Button();   
    buttonD.Location = new System.Drawing.Point(100, 200);
    buttonD.Text = "D= x1= x2=";
    buttonD.Click+=buttonD_Click;
    Controls.Add(buttonD);
    }
private void buttonD_Click(object sender, EventArgs e)
        {
    int za = Convert.ToInt32(textBoxA.Text);
    int zb = Convert.ToInt32(textBoxB.Text);
    int zc = Convert.ToInt32(textBoxC.Text);
double d = (zb * zb - 4 * za * zc);
double x1 = (-zb + Math.Sqrt(d)) / (2 * za);
double x2 = (-zb - Math.Sqrt(d)) / (2 * za);
    string dd = (d.ToString());
    string xx1 = (x1.ToString());
    string xx2 = (x2.ToString());
    string m = "D= " + dd + "  x1= " + xx1 + "  x2= " + xx2;
        {
MessageBox.Show(m);
        }
    }
    }  
}

и заодно стиль оформления удобный для форумов и для распечатки

Учим C# Windows Forms зная Basic
Приложение считывает из окон
заданные или назначенные значения
и создаёт расчёты и оформление
используя данные данные
и далее планируется графика в форме
//SUMCOMB.cs<br />using System; <br />using System.Drawing;<br />using System.Windows.Forms;<br />namespace SUMCOMB<br />{<br />	public class Program<br />	{<br />	static void Main()<br />	{<br />Application.Run(new SUMCOMB());<br />	}<br />	}<br />	class SUMCOMB : Form<br />	{<br />	ComboBox comboBoxD;<br />	TextBox textBoxA; <br />	Button buttonV;<br /><br />public SUMCOMB()<br />	{<br />var labelD = new Label();<br />	labelD.Text = "D СТРОК";<br />	labelD.Location = new System.Drawing.Point(45, 28);<br />	Controls.Add(labelD);<br /><br />comboBoxD = new ComboBox();<br />	comboBoxD.Location = new Point(45, 50);<br />	comboBoxD.Width = 50;<br />	comboBoxD.Items.Add("7");<br />	comboBoxD.Items.Add("5");<br />	comboBoxD.Items.Add("3");<br />	comboBoxD.SelectedIndex = 1;<br />	this.Controls.Add(comboBoxD);<br /><br />var labelA = new Label();<br />	labelA.Text = "A СТОЛБЦОВ";<br />	labelA.Location = new System.Drawing.Point(45, 78);<br />	Controls.Add(labelA);<br /><br />textBoxA=new TextBox();<br />	textBoxA.Text = "4"; <br />	textBoxA.Location = new System.Drawing.Point(45, 100);<br />	this.Controls.Add(textBoxA); <br /><br />buttonV = new Button();	<br />	buttonV.Location = new System.Drawing.Point(45, 200);<br />	buttonV.Text = "SUMCOMB";<br />	buttonV.Click+=buttonV_Click;<br />	Controls.Add(buttonV);<br />}<br /><br />private void buttonV_Click(object sender, EventArgs e)<br />	{<br />	int dd = int.Parse(comboBoxD.Text);<br />	int aa = int.Parse(textBoxA.Text);<br />for (int i = 1; i <= dd; i++)<br />{<br />string s= "";<br />for (int j = 1; j <= aa; j++)<br />s = s+"  "+(i+j).ToString();<br />var labelI = new Label();<br />labelI.Text = s;<br />labelI.Location = new System.Drawing.Point(145, 25+25*i);<br />Controls.Add(labelI);<br />}<br />		}<br />	}<br />}
Учим C# Windows Forms зная Basic


Далее исследую другие Windows окна и формы
соблюдающие принцип 1cs=1exe
чтоб компилировались без сред

Сборники тысяч программ 

http://rosettacode.org/wiki/Category:C_sharp
http://rosettacode.org/wiki/Category:QB64

Никому никогда ничего не рекомендую и всегда пишу только про себя

Список других моих тем в теме

Интеграл побеждает Логарифм: реальность и зазеркалье

15 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн