2019-04-05 21:57:13 +02:00
using System ;
using System.Collections.Generic ;
using System.ComponentModel ;
using System.Data ;
2019-04-06 11:24:54 +02:00
using System.Diagnostics ;
2019-04-05 21:57:13 +02:00
using System.Drawing ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using System.Windows.Forms ;
using ClassLibrary01 ;
namespace WindowsFormsApp01
{
public partial class Form1 : Form
{
private int _number ;
private int _scale = 1 ;
2019-04-06 11:24:54 +02:00
private int _x ;
private int _y ;
2019-04-05 21:57:13 +02:00
public int Number
{
get { return _number ; }
private set
{
if ( value > 10 )
{
_number = 10 ;
}
else
{
_number = value ;
}
}
}
public int GetNumber ( )
{
// int number2 = 10;
var foo = new Form1 ( ) ;
foo . Name = "hallo" ;
foo . Number = 5 ;
return Number ;
}
public Form1 ( )
{
InitializeComponent ( ) ;
label1 . Text = " " ;
2019-04-06 13:34:30 +02:00
calc . CalcFinished + = CalcFinished ;
2019-04-05 21:57:13 +02:00
}
private void Button1_Click ( object sender , EventArgs e )
{
var num1 = numericUpDown1 . Value ;
var num2 = numericUpDown2 . Value ;
//var res = num2 + num1;
var foo = new ClassLibrary01 . Class1 ( ) ;
var res = foo . Add ( ( int ) num1 , ( int ) num2 ) ;
_number = ( int ) res ;
label1 . Text = "Ergebnis: " + res . ToString ( ) ;
2019-04-09 16:14:26 +02:00
var f = new CalcEventArgs ( res ) ;
//trigger handler
// if (CalcFinished != null)
// {
CalcFinished ( f ) ;
// }
2019-04-05 21:57:13 +02:00
}
2019-04-06 11:24:54 +02:00
2019-04-05 21:57:13 +02:00
private void Panel1_Paint ( object sender , PaintEventArgs e )
{
Graphics graphics = e . Graphics ;
2019-04-06 11:24:54 +02:00
Pen _pen = new ClassLibrary01 . Class1 ( ) . getPen ( ) ;
using ( var p = _pen )
{
2019-04-06 13:34:30 +02:00
//y axis
graphics . DrawLine ( p , 10 , 10 , 10 , 246 ) ;
2019-04-05 21:57:13 +02:00
2019-04-06 13:34:30 +02:00
//x axis
graphics . DrawLine ( p , 10 , 246 , 502 , 246 ) ;
2019-04-05 21:57:13 +02:00
2019-04-06 13:34:30 +02:00
//arrow y axis
graphics . DrawLine ( p , 5 , 15 , 10 , 10 ) ;
graphics . DrawLine ( p , 15 , 15 , 10 , 10 ) ;
2019-04-05 21:57:13 +02:00
2019-04-06 13:34:30 +02:00
//arrow x axis
graphics . DrawLine ( p , 498 , 241 , 502 , 246 ) ;
graphics . DrawLine ( p , 498 , 251 , 502 , 246 ) ;
2019-04-06 11:24:54 +02:00
}
2019-04-05 21:57:13 +02:00
Brush aBrush = ( Brush ) Brushes . Red ;
2019-04-06 13:34:30 +02:00
for ( int i = 10 ; i < ( 502 ) ; i + + )
2019-04-05 21:57:13 +02:00
{
2019-04-06 13:34:30 +02:00
int y = ( int ) ( 246 - ( ( ( Math . Log ( i ) * 10 ) - 23 ) * _scale ) ) ;
2019-04-05 21:57:13 +02:00
graphics . FillRectangle ( aBrush , i , y , 2 , 2 ) ;
}
//graphics.DrawEllipse(new Pen(Color.Black), 70, 70, 30, 10);
}
private void Form1_Load ( object sender , EventArgs e )
{
}
private void TrackBar1_Scroll ( object sender , EventArgs e )
{
_scale = ( int ) trackBar1 . Value ;
panel1 . Refresh ( ) ;
}
2019-04-06 11:24:54 +02:00
private void Panel1_AutoSizeChanged ( object sender , EventArgs e )
{
}
private void Form1_Resize ( object sender , EventArgs e )
{
_x = panel1 . Width ;
_y = panel1 . Height ;
panel1 . Invalidate ( ) ;
}
private void Button2_Click ( object sender , EventArgs e )
{
string s1 = "hello" ;
string s2 = "Offenburg" ;
string s3 = String . Empty ;
2019-04-06 13:34:30 +02:00
Stopwatch sw = new Stopwatch ( ) ;
2019-04-06 11:24:54 +02:00
2019-04-06 13:34:30 +02:00
sw . Start ( ) ;
2019-04-06 11:24:54 +02:00
for ( int i = 0 ; i < 50000 ; i + + )
{
2019-04-06 13:34:30 +02:00
s3 = s3 + s1 + s2 ;
2019-04-06 11:24:54 +02:00
}
sw . Stop ( ) ;
label3 . Text = sw . ElapsedMilliseconds . ToString ( ) ;
}
private void Button3_Click ( object sender , EventArgs e )
{
string s1 = "hello" ;
string s2 = "Offenburg" ;
string s3 = String . Empty ;
Stopwatch sw = new Stopwatch ( ) ;
var sb = new StringBuilder ( ) ;
sw . Start ( ) ;
for ( int i = 0 ; i < 50000 ; i + + )
{
//s3 = s3 + s1 + s2;
sb . Append ( s1 ) ;
sb . Append ( s2 ) ;
}
sw . Stop ( ) ;
label2 . Text = sw . ElapsedMilliseconds . ToString ( ) ;
}
2019-04-06 13:34:30 +02:00
private void Button4_Click ( object sender , EventArgs e )
{
2019-04-06 14:10:00 +02:00
try
{
calc . CalcIt ( ) ;
}
catch ( DivideByZeroException )
{
label4 . Text = "Fehler: div by zero" ;
}
catch ( Exception )
{
label4 . Text = "Fehler" ;
}
2019-04-06 13:34:30 +02:00
}
public void CalcFinished ( CalcEventArgs e )
{
label4 . Text = e . Result . ToString ( ) ;
}
}
public class CalcEventArgs
{
public CalcEventArgs ( int result )
{
Result = result ;
}
public int Result { get ; private set ; }
}
public static class calc
{
public delegate void CalcEventHandler ( CalcEventArgs e ) ;
public static event CalcEventHandler CalcFinished ;
2019-04-09 16:14:26 +02:00
2019-04-06 13:34:30 +02:00
public static void CalcIt ( )
{
int res = DateTime . Now . Second ;
2019-04-06 14:10:00 +02:00
res = res / 0 ;
2019-04-06 13:34:30 +02:00
var e = new CalcEventArgs ( res ) ;
//trigger handler
if ( CalcFinished ! = null )
{
CalcFinished ( e ) ;
}
}
2019-04-05 21:57:13 +02:00
}
}