本文介绍了如何在课堂上定义卡片和总值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Non-invocable member cannot be used like a method
错误uri
名称ImageSource在当前上下文中不存在
卡不包含卡和总数的定义。
error for uri
The name ImageSource does not exist in the current context
card does not contain a definition for cards and total.
How to define cards andtotal values in class?
任何人都可以帮我解决这些错误吗?
我尝试过的事情:
Can anyone please help me with these Errors?
What I have tried:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Threading;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
using System.Data;
using System.ComponentModel;
using static System.Net.Mime.MediaTypeNames;
using System.IO;
namespace solitair
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
BackgroundWorker backgroundWorker1 = new BackgroundWorker();
public MainWindow()
{
InitializeComponent();
pbStatus.Visibility = Visibility.Hidden;
Reset();
}
public void Reset()
{
Uri("image\\Cards\\back.png");
ImgCard.Source = imageSource;
OfCardstext.Content = "";
Cardtext.Content = "";
Totaltext.Content = "";
ListHeader.Items.Clear();
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
}
private void hscroll_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Shuffle.Visibility = Visibility.Visible;
pbStatus.Visibility = Visibility.Visible;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
backgroundWorker1 = new BackgroundWorker();
backgroundWorker1.DoWork += backgroundWorker1_DoWork;
backgroundWorker1.ProgressChanged +=
backgroundWorker1_ProgressChanged;
backgroundWorker1.RunWorkerCompleted +=
backgroundWorker1_RunWorkerCompleted;
backgroundWorker1.WorkerReportsProgress = true;
backgroundWorker1.WorkerSupportsCancellation = true;
backgroundWorker1.RunWorkerAsync(100);
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
int result = 0;
for (int i = 1; i <= 100; i++)
{
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
break;
}
Thread.Sleep(100);
// Report progress.
backgroundWorker1.ReportProgress(i);
//TODO: your result code here
}
e.Result = result;
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
int item = e.ProgressPercentage;
// Change the value of the ProgressBar to the BackgroundWorker progress.
pbStatus.Value = item;
// Set the text.
}
void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{
}
else
{
Random RMNumber = new Random();
int Card = RMNumber.Next(1, 12);
var CardCodes = new List<string> { " c", " d ", "s", " h" };
Random RMChar = new Random();
int index = RMChar.Next(CardCodes.Count);
var Codes = CardCodes[index];
String CardName = "image\\Cards\\" + Codes;
if (Card > 10)
{
CardName = CardName + Convert.ToString(Card) + ".png";
}
else
{
CardName = CardName + "0" + Convert.ToString(Card) + ".png";
}
ImageSource imageSource = new BitmapImage(new Uri(CardName));
ImgCard.Source = imageSource;
string CardNm = "";
if (Codes == "c")
{
if (Card == 11)
{
CardNm = "Jack of Clubs";
}
else if (Card == 12)
{
CardNm = "Queen of Clubs";
}
else if (Card == 13)
{
CardNm = "King of Clubs";
}
else
{
CardNm = Convert.ToString(Card) + "of Clubs";
}
}
else if (Codes == "d")
{
if (Card == 11)
{
CardNm = "Jack of Diamonds";
}
else if (Card == 12)
{
CardNm = "Queen of Diamonds";
}
else if (Card == 13)
{
CardNm = "King of Diamonds";
}
else
{
CardNm = Convert.ToString(Card) + "of Diamonds";
}
}
else if (Codes == "s")
{
if (Card == 11)
{
CardNm = "Jack of Spades";
}
else if (Card == 12)
{
CardNm = "Queen of Spades";
}
else if (Card == 13)
{
CardNm = "King of Spades";
}
else
{
CardNm = Convert.ToString(Card) + "of Spades";
}
}
else if (Codes == "h")
{
if (Card == 11)
{
CardNm = "Jack of Hearts ";
}
else if (Card == 12)
{
CardNm = "Queen of Hearts";
}
else if (Card == 13)
{
CardNm = "King of Hearts";
}
else
{
CardNm = Convert.ToString(Card) + "of Hearts";
}
}
int total = 0;
if (ListHeader.Items.Count> 0)
{
total = Card + Convert.ToInt32(Totaltext.Content);
OfCardstext.Content = Convert.ToInt32(OfCardstext.Content) + 1;
Totaltext.Content = total;
}
else
{
total = Card;
OfCardstext.Content = 1;
Cardtext.Content = Card;
Totaltext.Content = total;
}
Cardtext.Content = Card.ToString();
ListHeader.Items.Add(new card { Cards = CardNm, Total = total });
}
}
}
}
推荐答案
public void Reset()
{
// Uri("image\\Cards\\back.png");
ImgCard.Source = imageSource;
OfCardstext.Content = "";
Cardtext.Content = "";
Totaltext.Content = "";
ListHeader.Items.Clear();
}
并设置只更新你的bitmapimage代码这样
and set just update your bitmapimage code like this
BitmapImage myBitmapImage = new BitmapImage();
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"your image path");
ImageSource imageSource = myBitmapImage
这篇关于如何在课堂上定义卡片和总值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!