Note that there are some explanatory texts on larger screens.

plurals
  1. POC#: how do you refer to content in Program.cs in a form.cs?
    primarykey
    data
    text
    <p>I am trying to place a value (from an object) in a variable and place it in a textbox in a form.</p> <p>Here is the form code:</p> <pre><code>public Form1(Deck mainDeck) { InitializeComponent(); int Val = mainDeck.ReturnCard(10); textBox1.Text = Val.ToString(); } </code></pre> <p>mainDeck is an object in my Program.cs file</p> <p>The problem line is this one: int Val = mainDeck.ReturnCard(10);</p> <p>Oops, wrong error. This is the real one:</p> <p><code>Error 1 The name 'mainDeck' does not exist in the current context C:\Users\Chris\Documents\Visual Studio 2008\Projects\Pcard\Pcard\Form1.cs 17 23 Pcard</code></p> <p>Here is my Program.cs file:</p> <pre><code>using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace Pcard { class Deck { public Deck() { // Assign standard deck to new deck object // int j; for (int i = 0; i != currentDeck.Length; i++) { currentDeck[i] = originalCards[i]; } // Fisher-Yates Shuffling Algorithim --- Do initial shuffle Random rnd = new Random(); for (int k = currentDeck.Length - 1; k &gt;= 0; k--) { int r = rnd.Next(0, k + 1); int tmp = currentDeck[k]; currentDeck[k] = currentDeck[r]; currentDeck[r] = tmp; } } public void Shuffle() { Random rnd = new Random(); for (int k = currentDeck.Length - 1; k &gt;= 0; k--) { int r = rnd.Next(0, k + 1); int tmp = currentDeck[k]; currentDeck[k] = currentDeck[r]; currentDeck[r] = tmp; } } public int[] ReturnDeck() { return currentDeck; } public int ReturnCard(int num) { return currentDeck[num]; } public int[] originalCards = new int[54] { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x50, 0x51 }; private int[] currentDeck = new int[54]; } public class Program { static void Main(string[] args) { // Create a Deck object Deck mainDeck = new Deck(); Console.WriteLine("Here is the card array:"); for (int index = 0; index != 54; index++) { string card = mainDeck.ReturnCard(index).ToString("x"); Console.WriteLine("0x" + card); } //Return 10th Card int PickCard = mainDeck.ReturnCard(10); Console.WriteLine("Here is the 10th Card"); Console.WriteLine("0x" + PickCard); //Shuffle mainDeck.Shuffle(); Console.WriteLine("Shuffling.."); PickCard = mainDeck.ReturnCard(10); Console.WriteLine("Here is the 10th card now: 0x" + PickCard); Application.Run(new Form1(maindeck)); } } } </code></pre> <p><strong>Edit</strong>: Okay, I am passing mainDeck to the Form, but I am now getting a different error: <code>Error 1 Inconsistent accessibility: parameter type 'Pcard.Deck' is less accessible than method 'Pcard.Form1.Form1(Pcard.Deck)' C:\Users\Chris\Documents\Visual Studio 2008\Projects\Pcard\Pcard\Form1.cs 14 16 Pcard</code></p> <p><strong>Edit: Edit:</strong> Alright, I now have this working, but I ran into a related problem, so I would rather put it here than in a new question.</p> <p>Passing mainDeck to the Form1 works fine, but what about if I want to have a button click call a method in this object. I tried passing mainDeck like this:</p> <pre><code> private void button1_Click(object sender, Deck mainDeck, EventArgs e) { mainDeck.Shuffle(); } </code></pre> <p>I get this error:<br> <code>Error 1 No overload for 'button1_Click' matches delegate 'System.EventHandler' C:\Users\Chris\Documents\Visual Studio 2008\Projects\Pcard\Pcard\Form1.Designer.cs 51 35 Pcard</code></p> <p>GRR!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload