Как в mono вызвать библиотеку?
В общем установил mono
всё работает , но вот библиотеку "перекинуть" как то не получается
вот код :
public partial class FormMain : Form
{
Graphics g;
private void Draw()
{
g = CreateGraphics();
g.Clear(Color.White);
g.DrawEllipse(Pens.Black,10,10,200,100);
g.Dispose();
}
private void FormMain_Paint(object sender,PaintEventArgs e)
{
Draw();
}
}
вот результат :
Что я делаю не так ?? (библиотеку предварительно перетащил в папку )
вот измененый код :
using System;
using System.Draw;
public partial class MainForm : Form
{
Graphics g;
private void Draw()
{
g = CreateGraphics();
g.Clear(Color.White);
g.DrawEllipse(Pens.Black,10,10,200,100);
g.Dispose();
}
private void FormMain_Paint(object sender,PaintEventArgs e)
{
Draw();
}
}
вот результат
Ответы (1 шт):
Спасибо за советы они мне очень помогли.
Благодаря советам я смог найти ответ .
Так же отвечу почему не пользуюсь IDE, у меня старый компьютер с 32 битной системой, для его нет современных IDE в основном IDE 2010 годов выглядят они убого, а также требуют большого нажимания сотни чекбоксов и ползунков (также не хочется тратить время на заранее устаревшую и не поддерживаемую технологию).
По этому мне легче работать с командной строкой.
вот ответ правда не причёсанный :
вот код :
using System;
using System.Drawing;
using System.Windows.Forms;
// класс окна
class MyForm:Form{
// ссылка на объект для рисования
Pen p;
// ссылка на объект графического контекста
Graphics g;
// конструктор
public MyForm():base(){
// размеры окна
this.Width=325;
this.Height=380;
// окно фиксированных размеров
this.FormBorderStyle=FormBorderStyle.FixedToolWindow;
// заголовок окна
this.Text=" чух чух";
// объект метки
Label lbl=new Label();
// размеры метки
lbl.Width=300;
lbl.Height=30;
// положение метки
lbl.Location=new Point(5,5);
// рамка для метки
lbl.BorderStyle=BorderStyle.Fixed3D;
// шрифт для метки
lbl.Font=new Font("Arial",10,FontStyle.Bold);
// способ выравнимвания текста в метке
lbl.TextAlign=ContentAlignment.MiddleCenter;
// добавление метки в коно
this.Controls.Add(lbl);
// объект панели
Panel pnl=new Panel();
// размеры панели
pnl.Width=lbl.Width;
pnl.Height=300;
// положение панели
pnl.Top=lbl.Bottom+5;
pnl.Left=lbl.Left;
// рамка для панели
pnl.BorderStyle=BorderStyle.Fixed3D;
// цвет панели
pnl.BackColor=Color.Yellow;
// вид курсора над панелью
pnl.Cursor=Cursors.Hand;
// оъект для рисования
p=new Pen(Color.Blue,3);
// объект графического контекста для панели
g=pnl.CreateGraphics();
// обработчик события связанного с движением курсора над областью панели
pnl.MouseMove+=(obj,ea)=>{
// перерисовка панели
pnl.Refresh();
// текст для метки
lbl.Text="Gorizontal: "+ea.X;
lbl.Text+=" ";
lbl.Text+="Vertikal: "+ea.Y;
// Отображение линий
g.DrawLine(p,new Point(0,ea.Y),new Point(pnl.ClientSize.Width,ea.Y));
g.DrawLine(p,new Point(ea.X,0),new Point(ea.X,pnl.ClientSize.Height));
g.DrawEllipse(Pens.Black,10,10,200,100);
};
// Обрабочик события, связанного с перемещением курсора за приделы панели
pnl.MouseLeave+=(obj,ae)=>{
//текст для метки
lbl.Text="";
// перерисовка панели
pnl.Refresh();
};
// добавление панели в окно
this.Controls.Add(pnl);
}
// диструктор
~MyForm(){
// освобождение ресурсов, задействованных для рисования
g.Dispose();
p.Dispose();
}
}
// главный класс
class CursorDemo{
// Атрибут использования однопоточной программы
[STAThread]
// Главный метод
static void Main(){
// отображение окна
Application.Run(new MyForm());
}
}
вот результат :


