如何将c#控制台代码更改为windows窗体应用程序



我有一个控制台应用程序,它计算客户应该以规定的价格获得多少退款,以及客户用什么付款。客户可以取回不同面额的兑换货币,以及每种面额的兑换金额。我的代码中使用瑞典克朗。

我想让我的控制台代码与windows窗体应用程序一起工作,这样它就可以在那里工作,但现在被卡住了。我收到了一个消息框,但想让windows应用程序计算我应该收回多少。在youtube上搜索过其他类似的问题,但对我没有太大帮助。

以下是我目前在Windows应用程序中的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
internal enum Valörer
{
Enkrona = 1,
Tvåkrona = 2,
Femkrona = 5,
Tiokrona = 10,
Tjugolapp = 20,
Femtiolapp = 50,
Hundralapp = 100,
Tvåhundralapp = 200,
Femhundralapp = 500,
}
public void button1_Click(object sender, EventArgs e)
{
string inpris;
inpris = Console.ReadLine();
int pris = int.Parse(textBox1.Text);
//Skrivs vad kunden har betalat(t.ex 500kr) och sen kommer vad kunden ska ha tillbaka i växel  kund betalt = customer paid, växel tillbaka = change back
Console.WriteLine("Kund betalt: ");
inpris = Console.ReadLine();
double betalt = double.Parse(textBox2.Text);
var tebaxs = betalt - pris;
var valorer = ((Valörer[])Enum.GetValues(typeof(Valörer))).OrderByDescending(x => x);
Console.WriteLine("Växel tillbaka: ");
foreach (Valörer changes in valorer)

{
var change = (int)changes;
var numberOfReturns = 0;
while ((change % tebaxs == change && tebaxs != 0) || (change == tebaxs))
{
numberOfReturns++;
tebaxs = tebaxs - change;
}
if (numberOfReturns != 0)
Console.WriteLine($"{numberOfReturns} {changes.ToString()}");
}
//Console.ReadLine();

MessageBox.Show(" Växel tillbaka : " + betalt + pris);
}
}
}

将一个新的windows窗体项目添加到您的解决方案中,然后您应该能够使用每个项目中的语句与控制台应用程序进行通信。

我将一些控制台语法更改为windows窗体语法。它应该起作用。将Console.WriteLine文本替换为标签:守则应该有效,但如果你有问题,请给我一些反馈。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
internal enum Valörer
{
Enkrona = 1,
Tvåkrona = 2,
Femkrona = 5,
Tiokrona = 10,
Tjugolapp = 20,
Femtiolapp = 50,
Hundralapp = 100,
Tvåhundralapp = 200,
Femhundralapp = 500,
}
public void button1_Click(object sender, EventArgs e)
{
// Place a Textbox on the Form. For this Example i use textboxInpris
string inpris;
inpris = textboxInpris.Text;
int pris = int.Parse(textBox1.Text);
//Skrivs vad kunden har betalat(t.ex 500kr) och sen kommer vad kunden ska ha tillbaka i växel  kund betalt = customer paid, växel tillbaka = change back
// Place a Label above the textbox with the Text "Kund betalt: " (label1)
// Console.WriteLine("Kund betalt: ");
inpris = textboxInpris.Text;
double betalt = double.Parse(textBox2.Text);
double tebaxs = betalt - pris;
var valorer = ((Valörer[])Enum.GetValues(typeof(Valörer))).OrderByDescending(x => x);

// Again place a Label with the text "Växel tillbaka: " (label2)
// Console.WriteLine("Växel tillbaka: ");
foreach (Valörer changes in valorer)

{
int change = (int)changes;
int numberOfReturns = 0;
while ((change % tebaxs == change && tebaxs != 0) || (change == tebaxs))
{
numberOfReturns++;
tebaxs = tebaxs - change;
}
if (numberOfReturns != 0)
MessageBox.Show($"{numberOfReturns} {changes.ToString()}");
}
MessageBox.Show(" Växel tillbaka : " + betalt + pris);
}
}
}

最新更新