Просмотр "Уроки C#"

SetParent — дочернее окно в свое окно

В данном примере, мы откроем дочернее окно в своем окне и в этом нам поможет SetParent

Функция SetParent заменяет родительское окно заданного дочернего окна.

Public Class Form1
    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Integer, ByVal hWndNewParent As Integer) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim OPF As New OpenFileDialog
        Dim prc As New Process
        OPF.Filter = ".EXE|*.exe"
        If OPF.ShowDialog = DialogResult.OK Then
            WindowState = FormWindowState.Maximized
            prc = Process.Start(OPF.FileName) ' запускаем процесс
        End If
        prc.WaitForExit(1000) ' маленькая задержка для появления окна, хоть WaitForExit совсем не для этой цели
        SetParent(prc.MainWindowHandle.ToInt32, Me.Handle.ToInt32) ' приминяем
    End Sub
End Class

setparent 438x350 SetParent   дочернее окно в свое окно

Подробнее »

  Метки: , , , ,
  Евгений
  Просмотров: 2 252
  Запись опубликована в 21:02

XML-комментарии

Каждый XML-комментарий в C#, начинается с трех слэшей «///», а в Visual Basic.NET с трех одиночных кавычек (апострофов) «' ' '». В C#, обычные комментарии начинаются с двух слэшей, а третий слэш говорит синтаксическому анализатору, что это XML-комментарий. В барсике, аналогично, только обычный комментарий начинается с одной, одиночной кавычки.

Для чего же нужны XML-комментарии? 

Парсить XML-файл настоящий кайф, то бишь, ничего сложного в этом нет, так вот, одним из главных особенностей XML-комментариев является создание документации прямо из исходных файлов проекта, а так же документация самого кода - классы, процедуры, модули, структуры, функций, их аргументы (параметры). С помощью синтаксического анализатора (parser'a) можно раскрывать теги XML-комментария, внутри которого, находится дополнительная информация.

Подробнее »

  Метки: , , ,
  Евгений
  Просмотров: 10 319
  Запись опубликована в 08:52

Консольное приложение на вычисление дискриминанта

Консольный вариант вычисления дискриминанта и его корней на C#

discr 300x178 Консольное приложение на вычисление дискриминанта

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Disc(); //при запуске, вызываем процедуру ↓
        }
        static void Disc()
        {
            double a, b, c, x1, x2, D;
            //ввод значений
            Console.WriteLine("Введите значение переменной A");
            a = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение переменной B");
            b = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение переменной C");
            c = Convert.ToDouble(Console.ReadLine());
            D = Math.Pow(b, 2) - (4 * a * c); //вычисление дискриминанта
            Console.WriteLine("Дискриминант = " + D);
            // два корня
            if (D > 0)
            {
                Console.WriteLine("Два корня:");
                x1 = (-b + Math.Sqrt(D)) / (2 * a);
                x2 = (-b - Math.Sqrt(D)) / (2 * a);
                Console.WriteLine("X1 = " + x1);
                Console.WriteLine("X2 = " + x2);
                //один корень
            }
            else if (D == 0)
            {
                Console.WriteLine("Один корень:");
                x1 = -b / (2 * a);
                Console.WriteLine("X = " + x1);
            }
            //нет корней
            else
            {
                Console.WriteLine("Нет корней");
            }
            //сообщение, если захотим решить новое уравнение - нужно нажать клавишу Enter
            Console.WriteLine("Решить новое? Нажмите клавишу Enter...");
            ConsoleKeyInfo k = Console.ReadKey();
            if (k.Key == ConsoleKey.Enter) {
                Console.Clear();
                Disc();
            }
        }
            }
        }

Загрузить проект

Пример на Visual Basic.NET

Если нужно на Visual C++, пишите, попробую написать.

  Метки: ,
  Евгений
  Просмотров: 4 951
  Запись опубликована в 14:25

Функция ShowCursor

Функция ShowCursor показывает или скрывает курсор мыши.

  • True - показать курсор
  • False - скрыть курсор

Информация по функции

using System.Runtime.InteropServices;
using System.Threading;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        // function
        [DllImport("user32.dll")]
        static extern int ShowCursor(bool bShow);
        private void button1_Click(object sender, EventArgs e)
        {
            ShowCursor(false); // hide cursor
            Thread.Sleep(3000); // wait
            ShowCursor(true); // show cursor
        }
    }
}

Пример на VB.NET

ShowCursor Функция ShowCursor

  Метки: , , ,
  Евгений
  Просмотров: 1 213
  Запись опубликована в 10:29

Растягиваем форму за Label

Пример на C#, как растягивать форму за какой-либо объект. Добавляем 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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Point pt = new Point();
        private void Form1_Load(object sender, EventArgs e)
        {
            FormBorderStyle = FormBorderStyle.None;
            label1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
        }

        private void Label1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                Size = new Size(Width + (e.X - pt.X), Height + (e.Y - pt.Y));
            }
        }

        private void Label1_MouseDown(object sender, MouseEventArgs e)
        {
            pt = new Point(e.X, e.Y);
        }
    }
}

Загрузить проект

Растягивание формы на VB.NET

form gif Растягиваем форму за Label

  Метки: ,
  Евгений
  Просмотров: 1 736
  Запись опубликована в 12:37

Страниц:1234»