diff --git a/CurrencyConvert.csproj.user b/CurrencyConvert.csproj.user
index 7814ea2..7651ebc 100644
--- a/CurrencyConvert.csproj.user
+++ b/CurrencyConvert.csproj.user
@@ -1,8 +1,8 @@
-
-
- Form
-
-
-
+
+
+ Form
+
+
+
\ No newline at end of file
diff --git a/Form1.cs b/Form1.cs
deleted file mode 100644
index 9be3c23..0000000
--- a/Form1.cs
+++ /dev/null
@@ -1,133 +0,0 @@
-using Newtonsoft.Json;
-using System.Collections.Generic;
-
-namespace CurrencyConvert
-{
- public partial class Form1 : Form
- {
-
- private readonly HashSet supportedCurrencies = new HashSet
- {
- "AUD", "BGN", "BRL", "CAD", "CHF", "CNY", "CZK", "DKK",
- "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "ISK",
- "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PHP", "PLN",
- "RON", "SEK", "SGD", "THB", "TRY", "USD", "ZAR"
- };
-
- public Form1()
- {
- InitializeComponent();
-
-
- comboBox1.Items.Clear();
- comboBox2.Items.Clear();
- foreach (string currency in supportedCurrencies)
- {
- comboBox1.Items.Add(currency);
- comboBox2.Items.Add(currency);
- }
-
- comboBox1.SelectedIndex = comboBox1.Items.IndexOf("EUR");
- comboBox2.SelectedIndex = comboBox2.Items.IndexOf("USD");
-
-
- label4.AutoSize = true;
- label4.Font = new Font(label4.Font.FontFamily, 12, FontStyle.Bold);
- }
-
- private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
-
- }
-
- private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!char.IsDigit(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != '.' && e.KeyChar != (char)Keys.Back)
- {
- e.Handled = true;
- }
- }
-
- private async void button1_Click(object sender, EventArgs e)
- {
- try
- {
-
- label4.Text = "Berechne...";
- button1.Enabled = false;
-
- if (string.IsNullOrWhiteSpace(textBox1.Text))
- {
- MessageBox.Show("Bitte geben Sie einen Betrag ein.");
- return;
- }
-
-
- string amount = textBox1.Text.Replace(',', '.');
- if (!double.TryParse(amount, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture, out double menge))
- {
- MessageBox.Show("Bitte geben Sie einen gültigen Betrag ein.");
- return;
- }
-
- if (comboBox1.SelectedItem == null || comboBox2.SelectedItem == null)
- {
- MessageBox.Show("Bitte wählen Sie beide Währungen aus.");
- return;
- }
-
- string von = comboBox1.SelectedItem.ToString().Trim().ToUpper();
- string zu = comboBox2.SelectedItem.ToString().Trim().ToUpper();
-
- if (!supportedCurrencies.Contains(von) || !supportedCurrencies.Contains(zu))
- {
- MessageBox.Show($"Eine oder beide Währungen werden nicht unterstützt.\nUnterstützte Währungen: {string.Join(", ", supportedCurrencies)}");
- return;
- }
-
-
- string url = $"https://api.frankfurter.app/latest?amount={amount}&from={von}&to={zu}";
-
- using (HttpClient client = new HttpClient())
- {
- var response = await client.GetAsync(url);
- string json = await response.Content.ReadAsStringAsync();
-
- if (!response.IsSuccessStatusCode)
- {
- MessageBox.Show("Fehler beim Abrufen der Wechselkurse.");
- return;
- }
-
- var data = JsonConvert.DeserializeObject(json);
-
- if (data?.rates == null || !data.rates.ContainsKey(zu))
- {
- MessageBox.Show("Fehler beim Abrufen der Wechselkurse.");
- return;
- }
-
- double ergebnis = data.rates[zu];
- label4.Text = $"{menge} {von} = {ergebnis:0.00} {zu}";
- }
- }
- catch (Exception)
- {
- MessageBox.Show("Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.");
- }
- finally
- {
- button1.Enabled = true;
- }
- }
- }
-
- public class FrankfurterResponse
- {
- public double amount { get; set; }
- public string base_currency { get; set; }
- public string date { get; set; }
- public Dictionary rates { get; set; }
- }
-}
-
diff --git a/Form1.Designer.cs b/MoneyConverter.Designer.cs
similarity index 90%
rename from Form1.Designer.cs
rename to MoneyConverter.Designer.cs
index 1d55abd..a234c9f 100644
--- a/Form1.Designer.cs
+++ b/MoneyConverter.Designer.cs
@@ -1,6 +1,6 @@
namespace CurrencyConvert
{
- partial class Form1
+ partial class MoneyConverter
{
private System.ComponentModel.IContainer components = null;
@@ -56,6 +56,7 @@
// label1
//
label1.AutoSize = true;
+ label1.BackColor = Color.Transparent;
label1.Location = new Point(184, 34);
label1.Name = "label1";
label1.Size = new Size(97, 20);
@@ -65,6 +66,7 @@
// label2
//
label2.AutoSize = true;
+ label2.BackColor = Color.Transparent;
label2.Location = new Point(184, 82);
label2.Name = "label2";
label2.Size = new Size(89, 20);
@@ -82,11 +84,13 @@
// label3
//
label3.AutoSize = true;
+ label3.BackColor = Color.Transparent;
label3.Location = new Point(184, 132);
label3.Name = "label3";
label3.Size = new Size(144, 20);
label3.TabIndex = 5;
label3.Text = "Menge der Währung";
+ label3.Click += label3_Click;
//
// button1
//
@@ -104,17 +108,20 @@
// label4
//
label4.AutoSize = true;
+ label4.BackColor = Color.Transparent;
label4.Location = new Point(28, 263);
label4.Name = "label4";
label4.Size = new Size(66, 20);
label4.TabIndex = 7;
label4.Text = "Ergebnis";
//
- // Form1
+ // MoneyConverter
//
AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(709, 496);
+ BackColor = SystemColors.HighlightText;
+ BackgroundImage = Properties.Resources.Background;
+ ClientSize = new Size(366, 328);
Controls.Add(label4);
Controls.Add(button1);
Controls.Add(label3);
@@ -123,8 +130,9 @@
Controls.Add(label1);
Controls.Add(comboBox2);
Controls.Add(comboBox1);
- Name = "Form1";
- Text = "Form1";
+ Name = "MoneyConverter";
+ Text = "MoneyConverter";
+ Load += Form1_Load;
ResumeLayout(false);
PerformLayout();
}
diff --git a/MoneyConverter.cs b/MoneyConverter.cs
new file mode 100644
index 0000000..a8a25bd
--- /dev/null
+++ b/MoneyConverter.cs
@@ -0,0 +1,152 @@
+using Newtonsoft.Json;
+using System.Collections.Generic;
+
+namespace CurrencyConvert
+{
+ public partial class MoneyConverter : Form
+ {
+
+ private readonly string[] supportedCurrencies = new string[]
+ {
+ "AUD", "BGN", "BRL", "CAD", "CHF", "CNY", "CZK", "DKK",
+ "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "ISK",
+ "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PHP", "PLN",
+ "RON", "SEK", "SGD", "THB", "TRY", "USD", "ZAR"
+ };
+
+ public MoneyConverter()
+ {
+ InitializeComponent();
+
+
+ comboBox1.Items.Clear();
+ comboBox2.Items.Clear();
+ foreach (string currency in supportedCurrencies)
+ {
+ comboBox1.Items.Add(currency);
+ comboBox2.Items.Add(currency);
+ }
+
+ comboBox1.SelectedIndex = comboBox1.Items.IndexOf("EUR");
+ comboBox2.SelectedIndex = comboBox2.Items.IndexOf("USD");
+
+
+ label4.AutoSize = true;
+ label4.Font = new Font(label4.Font.FontFamily, 12, FontStyle.Bold);
+ }
+
+ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+
+ }
+
+ private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (!char.IsDigit(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != '.' && e.KeyChar != (char)Keys.Back)
+ {
+ e.Handled = true;
+ }
+ }
+
+ private async void button1_Click(object sender, EventArgs e)
+ {
+
+ label4.Text = "Berechne...";
+ button1.Enabled = false;
+
+
+ if (string.IsNullOrWhiteSpace(textBox1.Text))
+ {
+ MessageBox.Show("Bitte geben Sie einen Betrag ein.");
+ button1.Enabled = true;
+ return;
+ }
+
+
+ string amountText = textBox1.Text.Replace(',', '.');
+ double amount;
+ bool isNumber = double.TryParse(amountText, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture, out amount);
+ if (!isNumber)
+ {
+ MessageBox.Show("Bitte geben Sie einen gültigen Betrag ein.");
+ button1.Enabled = true;
+ return;
+ }
+
+
+ if (comboBox1.SelectedItem == null || comboBox2.SelectedItem == null)
+ {
+ MessageBox.Show("Bitte wählen Sie beide Währungen aus.");
+ button1.Enabled = true;
+ return;
+ }
+
+
+ string fromCurrency = comboBox1.SelectedItem.ToString().Trim().ToUpper();
+ string toCurrency = comboBox2.SelectedItem.ToString().Trim().ToUpper();
+
+
+ bool fromSupported = false;
+ bool toSupported = false;
+ foreach (string currency in supportedCurrencies)
+ {
+ if (currency == fromCurrency) fromSupported = true;
+ if (currency == toCurrency) toSupported = true;
+ }
+ if (!fromSupported || !toSupported)
+ {
+ MessageBox.Show("Eine oder beide Währungen werden nicht unterstützt.");
+ button1.Enabled = true;
+ return;
+ }
+
+
+ string url = "https://api.frankfurter.app/latest?amount=" + amountText + "&from=" + fromCurrency + "&to=" + toCurrency;
+
+
+ HttpClient client = new HttpClient();
+ HttpResponseMessage response = await client.GetAsync(url);
+ string json = await response.Content.ReadAsStringAsync();
+
+ if (!response.IsSuccessStatusCode)
+ {
+ MessageBox.Show("Fehler beim Abrufen der Wechselkurse.");
+ button1.Enabled = true;
+ return;
+ }
+
+ FrankfurterResponse data = JsonConvert.DeserializeObject(json);
+
+ if (data == null || data.rates == null || !data.rates.ContainsKey(toCurrency))
+ {
+ MessageBox.Show("Fehler beim Abrufen der Wechselkurse.");
+ button1.Enabled = true;
+ return;
+ }
+
+ double result = data.rates[toCurrency];
+ label4.Text = amount + " " + fromCurrency + " = " + result.ToString("0.00") + " " + toCurrency;
+
+ button1.Enabled = true;
+ }
+
+ private void Form1_Load(object sender, EventArgs e)
+ {
+
+ }
+
+ private void label3_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+
+ public class FrankfurterResponse
+ {
+ public double amount { get; set; }
+ public string base_currency { get; set; }
+ public string date { get; set; }
+ public Dictionary rates { get; set; }
+ }
+}
+
diff --git a/Form1.resx b/MoneyConverter.resx
similarity index 100%
rename from Form1.resx
rename to MoneyConverter.resx
diff --git a/Program.cs b/Program.cs
index 00a130b..e3b5de3 100644
--- a/Program.cs
+++ b/Program.cs
@@ -11,7 +11,7 @@ namespace CurrencyConvert
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
- Application.Run(new Form1());
+ Application.Run(new MoneyConverter());
}
}
}
\ No newline at end of file
diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
index feec1de..9f83526 100644
--- a/Properties/Resources.Designer.cs
+++ b/Properties/Resources.Designer.cs
@@ -60,6 +60,16 @@ namespace CurrencyConvert.Properties {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Background {
+ get {
+ object obj = ResourceManager.GetObject("Background", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
index a26584f..2eb6aba 100644
--- a/Properties/Resources.resx
+++ b/Properties/Resources.resx
@@ -118,10 +118,13 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- ..\Resources\Euro.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\Euro1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\Euro.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Background.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/Resources/Background.jpg b/Resources/Background.jpg
new file mode 100644
index 0000000..ce7ada8
Binary files /dev/null and b/Resources/Background.jpg differ
diff --git a/bin/Debug/net8.0-windows/CurrencyConvert.dll b/bin/Debug/net8.0-windows/CurrencyConvert.dll
index 4e00261..23960a7 100644
Binary files a/bin/Debug/net8.0-windows/CurrencyConvert.dll and b/bin/Debug/net8.0-windows/CurrencyConvert.dll differ
diff --git a/bin/Debug/net8.0-windows/CurrencyConvert.exe b/bin/Debug/net8.0-windows/CurrencyConvert.exe
index 78e7267..a912f38 100644
Binary files a/bin/Debug/net8.0-windows/CurrencyConvert.exe and b/bin/Debug/net8.0-windows/CurrencyConvert.exe differ
diff --git a/bin/Debug/net8.0-windows/CurrencyConvert.pdb b/bin/Debug/net8.0-windows/CurrencyConvert.pdb
index 525e0de..3af7565 100644
Binary files a/bin/Debug/net8.0-windows/CurrencyConvert.pdb and b/bin/Debug/net8.0-windows/CurrencyConvert.pdb differ
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfo.cs b/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfo.cs
index 4f86083..ae0edd5 100644
--- a/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfo.cs
+++ b/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("CurrencyConvert")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+49813f523c3f34dcd8f71e2715720478dba4336d")]
[assembly: System.Reflection.AssemblyProductAttribute("CurrencyConvert")]
[assembly: System.Reflection.AssemblyTitleAttribute("CurrencyConvert")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfoInputs.cache b/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfoInputs.cache
index 67aa13b..996c2dc 100644
--- a/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfoInputs.cache
+++ b/obj/Debug/net8.0-windows/CurrencyConvert.AssemblyInfoInputs.cache
@@ -1 +1 @@
-861cff0492995bfdf65c6a8287334b22d4a50ab65208d23816ade7ac77479a9c
+5a969a5d6ad40d34e0088ed564d4ce93fdbd68bcc1aee708c09cc350f732b47d
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.Form1.resources b/obj/Debug/net8.0-windows/CurrencyConvert.MoneyConverter.resources
similarity index 100%
rename from obj/Debug/net8.0-windows/CurrencyConvert.Form1.resources
rename to obj/Debug/net8.0-windows/CurrencyConvert.MoneyConverter.resources
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.Properties.Resources.resources b/obj/Debug/net8.0-windows/CurrencyConvert.Properties.Resources.resources
index e72efc9..665257c 100644
Binary files a/obj/Debug/net8.0-windows/CurrencyConvert.Properties.Resources.resources and b/obj/Debug/net8.0-windows/CurrencyConvert.Properties.Resources.resources differ
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0-windows/CurrencyConvert.csproj.CoreCompileInputs.cache
index add83be..25118f7 100644
--- a/obj/Debug/net8.0-windows/CurrencyConvert.csproj.CoreCompileInputs.cache
+++ b/obj/Debug/net8.0-windows/CurrencyConvert.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-4b3f8ed66ef892d49dcd4ec591dd76964fb33b7849e8269c41fd33a533999b3b
+d94f5a7fb60fe6f3c14e30e5724ba7ab2500f212694980dd3ec08fc32bf234f4
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.csproj.FileListAbsolute.txt b/obj/Debug/net8.0-windows/CurrencyConvert.csproj.FileListAbsolute.txt
index f28d97c..d5d8ad3 100644
--- a/obj/Debug/net8.0-windows/CurrencyConvert.csproj.FileListAbsolute.txt
+++ b/obj/Debug/net8.0-windows/CurrencyConvert.csproj.FileListAbsolute.txt
@@ -3,7 +3,6 @@ C:\Users\bib\source\repos\CurrencyConvert\bin\Debug\net8.0-windows\CurrencyConve
C:\Users\bib\source\repos\CurrencyConvert\bin\Debug\net8.0-windows\CurrencyConvert.runtimeconfig.json
C:\Users\bib\source\repos\CurrencyConvert\bin\Debug\net8.0-windows\CurrencyConvert.dll
C:\Users\bib\source\repos\CurrencyConvert\bin\Debug\net8.0-windows\CurrencyConvert.pdb
-C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConvert.Form1.resources
C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConvert.csproj.GenerateResource.cache
C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConvert.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConvert.AssemblyInfoInputs.cache
@@ -18,3 +17,4 @@ C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConve
C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConvert.csproj.AssemblyReference.cache
C:\Users\bib\source\repos\CurrencyConvert\bin\Debug\net8.0-windows\Newtonsoft.Json.dll
C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\Currency.DEA7AA0F.Up2Date
+C:\Users\bib\source\repos\CurrencyConvert\obj\Debug\net8.0-windows\CurrencyConvert.MoneyConverter.resources
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.csproj.GenerateResource.cache b/obj/Debug/net8.0-windows/CurrencyConvert.csproj.GenerateResource.cache
index ed0999e..b087d38 100644
Binary files a/obj/Debug/net8.0-windows/CurrencyConvert.csproj.GenerateResource.cache and b/obj/Debug/net8.0-windows/CurrencyConvert.csproj.GenerateResource.cache differ
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.dll b/obj/Debug/net8.0-windows/CurrencyConvert.dll
index 4e00261..23960a7 100644
Binary files a/obj/Debug/net8.0-windows/CurrencyConvert.dll and b/obj/Debug/net8.0-windows/CurrencyConvert.dll differ
diff --git a/obj/Debug/net8.0-windows/CurrencyConvert.pdb b/obj/Debug/net8.0-windows/CurrencyConvert.pdb
index 525e0de..3af7565 100644
Binary files a/obj/Debug/net8.0-windows/CurrencyConvert.pdb and b/obj/Debug/net8.0-windows/CurrencyConvert.pdb differ
diff --git a/obj/Debug/net8.0-windows/apphost.exe b/obj/Debug/net8.0-windows/apphost.exe
index 78e7267..a912f38 100644
Binary files a/obj/Debug/net8.0-windows/apphost.exe and b/obj/Debug/net8.0-windows/apphost.exe differ
diff --git a/obj/Debug/net8.0-windows/ref/CurrencyConvert.dll b/obj/Debug/net8.0-windows/ref/CurrencyConvert.dll
index b8523b2..10e01ec 100644
Binary files a/obj/Debug/net8.0-windows/ref/CurrencyConvert.dll and b/obj/Debug/net8.0-windows/ref/CurrencyConvert.dll differ
diff --git a/obj/Debug/net8.0-windows/refint/CurrencyConvert.dll b/obj/Debug/net8.0-windows/refint/CurrencyConvert.dll
index b8523b2..10e01ec 100644
Binary files a/obj/Debug/net8.0-windows/refint/CurrencyConvert.dll and b/obj/Debug/net8.0-windows/refint/CurrencyConvert.dll differ