• 0

Text not appearing in textBox


Question

Here is what the form looks like and its respective toolbox item name

 

Form and it's names

 

Here's the code for the Form and the class

 

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void addFlapjacks_Click(object sender, EventArgs e)
        {
            Flapjack food;
            if (crispy.Checked == true)
                food = Flapjack.Crispy;
            else if (soggy.Checked == true)
                food = Flapjack.Soggy;
            else if (browned.Checked == true)
                food = Flapjack.Browned;
            else
                food = Flapjack.Bannana;

            Lumberjack currentLumberjack = breakfastLine.Peek();
            currentLumberjack.TakeFlapjacks(food, (int)howMany.Value);
            RedrawList();
        }

        private Queue<Lumberjack> breakfastLine = new Queue<Lumberjack>();

        private void addLumberjack_Click(object sender, EventArgs e)
        {
            breakfastLine.Enqueue(new Lumberjack(name.Text));
            name.Text = "";
            RedrawList();
        }

        private void RedrawList()
        {
            int number = 1;
            line.Items.Clear();
            foreach (Lumberjack lumberjack in breakfastLine)
            {
                line.Items.Add(number + ". " + lumberjack.Name);
                number++;
            }
            if (breakfastLine.Count == 0)
            {
                groupBox1.Enabled = true;
                Lumberjack currentLumberjack = breakfastLine.Peek();
                nextInLine.Text = currentLumberjack.Name + " has " + currentLumberjack.FlapjackCount + " flapjacks.";
            }
        }

        private void nextLumberjack_Click(object sender, EventArgs e)
        {
            Lumberjack nextLumberjack = breakfastLine.Dequeue();
            nextLumberjack.EatFlapjacks();
            nextInLine.Text = "";
            RedrawList();
        }
    }

CLASS:

 

 enum Flapjack
    {
        Crispy,
        Soggy,
        Browned,
        Bannana
    }
    class Lumberjack
    {
        private string name;
        public string Name { get { return name; } }
        private Stack<Flapjack> meal;
        public Lumberjack(string name)
        {
            this.name = name;
            meal = new Stack<Flapjack>();
        }
        public int FlapjackCount { get { return meal.Count; } }

        public void TakeFlapjacks(Flapjack food, int howMany)
        {
            for (int i = 0; i < howMany; i++)
            {
                meal.Push(food);
            }
        }

        public void EatFlapjacks()
        {
            Console.WriteLine(name + "'s eating flapjacks");
            while(meal.Count > 0)
            {
                Console.WriteLine(name + " ate a " + meal.Pop().ToString().ToLower() + " flapjack");
            }
        }
    }

The problem here i'm getting is in Form1 under RedrawList() ---> nextInLine TextBox should display what ever nextInLine.Text line is equal to but nothing is being displayed in the textbox during execution, up on button click of Add flapjacks it will call RedrawList () and a mesage should be displayed in the textbox like if name = ed and howMany = 3 text displaayed should be "Ed has 3 flapjacks" not no display upon button click.

I have set the property of the textbox to Read only, 

Any Idea why there is no text in textbox ?

Link to comment
https://www.neowin.net/forum/topic/1329156-text-not-appearing-in-textbox/
Share on other sites

3 answers to this question

Recommended Posts

  • 0

 

if (breakfastLine.Count == 0)
{
    // if we get here, breakfastLine.Count == 0, right? 
    groupBox1.Enabled = true;
    // so what do you expect this line to do? There are no items to peek at, it's empty, you just verified it was
    Lumberjack currentLumberjack = breakfastLine.Peek(); 
    // Let's look at the documentation for Queue.Peek https://msdn.microsoft.com/en-us/library/system.collections.queue.peek.aspx
    // | Exception	                | Condition
    // | InvalidOperationException	| The Queue is empty. 
  
    // So an exception is always thrown and this next line is never executed
    nextInLine.Text = currentLumberjack.Name + " has " + currentLumberjack.FlapjackCount + " flapjacks.";
}

On a side note, you would do well to learn basic debugging techniques (i.e. start your program by using F5 "Start Debugging" in Visual Studio). By default Visual Studio stops execution on exceptions, highlights the offending line and shows you the details of the exception. That would have shown you right where the problem was.

 

Another basic technique would be to put a breakpoint on the line where you expect the change to happen; you would have seen it was never hit.

 

These are essential skills to develop!

  • 0
  On 26/04/2017 at 00:36, Andre S. said:

 

if (breakfastLine.Count == 0)
{
    // if we get here, breakfastLine.Count == 0, right? 
    groupBox1.Enabled = true;
    // so what do you expect this line to do? There are no items to peek at, it's empty, you just verified it was
    Lumberjack currentLumberjack = breakfastLine.Peek(); 
    // Let's look at the documentation for Queue.Peek https://msdn.microsoft.com/en-us/library/system.collections.queue.peek.aspx
    // | Exception	                | Condition
    // | InvalidOperationException	| The Queue is empty. 
  
    // So an exception is always thrown and this next line is never executed
    nextInLine.Text = currentLumberjack.Name + " has " + currentLumberjack.FlapjackCount + " flapjacks.";
}

On a side note, you would do well to learn basic debugging techniques (i.e. start your program by using F5 "Start Debugging" in Visual Studio). By default Visual Studio stops execution on exceptions, highlights the offending line and shows you the details of the exception. That would have shown you right where the problem was.

 

Another basic technique would be to put a breakpoint on the line where you expect the change to happen; you would have seen it was never hit.

 

These are essential skills to develop!

Expand  

Oh my bad i corrected it by changing

if (breakfastLine.Count == 0)  ---> if (breakfastLine.Count != 0)

 

OR to be precise

 

 if (breakfastLine.Count == 0)
            {
                groupBox1.Enabled = false;
                nextInLine.Text = "";
            }
            else   
            {
                groupBox1.Enabled = true;
                Lumberjack currentLumberjack = breakfastLine.Peek();
                nextInLine.Text = currentLumberjack.Name + " has " + currentLumberjack.FlapjackCount + " flapjacks.";
            }

 

THANK YOU for Replying

This topic is now closed to further replies.
  • Posts

    • the problem is a tip is VARIABLE you aren't guaranteed a specific income... just freaking pay your staff and set a fixed price for food
    • Operation Warp Speed Vaccine Summit - December 8, 2020 Donald Trump:  Thank you very much. Appreciate it very much. I’m honored to welcome doctors, scientists, industry executives, and state and local leaders to our historic Operation Warp Speed Vaccine Summit. It’s been some journey for all of us. It’s been an incredible success. We’re grateful to be joined by Vice President Mike Pence, who has done an absolutely incredible job on the Coronavirus Task Force. Mike, thank you. Stand up, Mike. (Applause.) Great job. We’re here to discuss a monumental national achievement. From the instant the coronavirus invaded our shores, we raced into action to develop a safe and effective vaccine at breakneck speed. It would normally take five years, six years, seven years, or even more. In order to achieve this goal, we harnessed the full power of government, the genius of American scientists, and the might of American industry to save millions and millions of lives all over the world. We’re just days away from authorization from the FDA, and we’re pushing them hard, at which point we will immediately begin mass distribution. Before Operation Warp Speed, the typical timeframe for development and approval, as you know, could be infinity. And we were very, very happy that we were able to get things done at a level that nobody has ever seen before. The gold standard vaccine has been done in less than nine months. And now this: Meghan McCain:  If you regret taking the shot, there's hope.  Buy this "Vaccine Detox"   🤣  
    • I haven't heard that sound in a while and now I kinda miss it.
    • Do we really expect home users to have access to enterprise licenses?
  • Recent Achievements

    • Apprentice
      Wireless wookie went up a rank
      Apprentice
    • Week One Done
      bukro earned a badge
      Week One Done
    • One Year In
      Wulle earned a badge
      One Year In
    • One Month Later
      Wulle earned a badge
      One Month Later
    • One Month Later
      Simmo3D earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      559
    2. 2
      ATLien_0
      258
    3. 3
      +FloatingFatMan
      182
    4. 4
      Michael Scrip
      125
    5. 5
      Steven P.
      104
  • Tell a friend

    Love Neowin? Tell a friend!