|
And I just realized, the digit buttons probably have a simple numeric Text property already, so maybe int.Parse(btn.Text) is the better approach. Keep in mind it will execute less than once per second as it is an input part of the GUI.
Yes it is. I tried it and it works perfectly.
Thank you all for the great help!
modified on Monday, February 14, 2011 4:49 PM
|
|
|
|
|
Personally, I wouldn't bother with the (previously suggested) Tag property...the first handler parameter is sender - which is the control that the event originated from...no need for a tag when you already have sufficient info in there to determine which one was clicked.
C# has already designed away most of the tedium of C++.
|
|
|
|
|
I am working in c#. I want to change the colour of button by applying function of timer but is giving error.Can any one solve this problem?? Here is the code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
System.Timers.Timer greentimer;
System.Timers.Timer redtimer;
public Form1()
{
InitializeComponent();
greentimer = System.Timers.Timer(3000);
greentimer.Elapsed += new System.Timers.ElapsedEventHandler(greenTimer_Elapsed);
greentimer.Start();
redtimer = System.Timers.Timer(3000);
redtimer.Elapsed += new System.Timers.ElapsedEventHandler(redTimer_Elapsed);
redtimer.Start();
}
void redTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
}
Error:
Error 1 Program 'C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\obj\Debug\WindowsApplication1.exe' has more than one entry point defined: 'WindowsApplication1.Form1.Main()' C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 40 21 WindowsApplication1
|
|
|
|
|
Usually when you create a new WinForm project the code to instantiate the form will be placed in a main method in a class called Program.cs. Now you have a second entry point (Main method) in your executable. I don't think this has to be a problem as long as you specify in your project properties file which ojbect should provide the entry point.
Modified:
On the project properties dialog change to the application tab and set "Start Object" property to the according object. In your case if you want to use the Main method of your form then choose the Form1 object. As a standard this is set to "Not Set" and if there's more that one entry point the copmiler complains as it is unable to resolve this on its own. Using the command line compiler your can use the /main flag to specify which object is supposed to be the "Start Object".
End Modification
Cheers!
|
|
|
|
|
Thanks but After setting the properties tab it is still giving the following errors:
here is the code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
System.Timers.Timer greentimer;
System.Timers.Timer redtimer;
public Form1()
{
InitializeComponent();
greentimer = System.Timers.Timer(3000);
greentimer.Elapsed += new System.Timers.ElapsedEventHandler(greenTimer_Elapsed);
greentimer.Start();
redtimer = System.Timers.Timer(3000);
redtimer.Elapsed += new System.Timers.ElapsedEventHandler(redTimer_Elapsed);
redtimer.Start();
}
void redTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
button1.Invoke(new Action(() => button1.BackColor=Color.Green));
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
[STAThread]
static void Main()
{
Application.Run( Form1);
}
}
}
Errors:
Error 1 Invalid expression term ')' C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 30 41 WindowsApplication1
Error 2 Invalid expression term '>' C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 30 44 WindowsApplication1
Error 3 ) expected C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 30 46 WindowsApplication1
Error 4 ; expected C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 30 75 WindowsApplication1
Error 5 Invalid expression term ')' C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 30 75 WindowsApplication1
Error 8 'System.Timers.Timer' is a 'type', which is not valid in the given context C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 19 40 WindowsApplication1
Error 9 The name 'greenTimer_Elapsed' does not exist in the current context C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 20 73 WindowsApplication1
Error 10 'System.Timers.Timer' is a 'type', which is not valid in the given context C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 23 38 WindowsApplication1
Error 11 'WindowsApplication1.Form1' is a 'type' but is used like a 'variable' C:\Documents and Settings\XPPRESP3\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.cs 42 30 WindowsApplication1
|
|
|
|
|
There are a few problems here:
First, the one you are telling us about: Remove the function at the bottom of your class.
There is already a Main function defined in Program.cs - leave it there and get rid of the one you added.
Secondly, you need a new keyword or two:
greentimer = new System.Timers.Timer(3000);
...
redtimer = new System.Timers.Timer(3000);
I would also change the intervals so they weren't the same: otherwise you won't see one colour at all! Try 3000 and 5000 instead.
And just to be picky, you don't need the invoke, but you do need another close parenthesis...
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
Digital man: "You are, in short, an idiot with the IQ of an ant and the intellectual capacity of a hose pipe."
|
|
|
|
|
Thanks but after removing the main function it is still giving me the following errors:
Here is the code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
System.Timers.Timer greentimer;
System.Timers.Timer redtimer;
public Form1()
{
InitializeComponent();
greentimer = System.Timers.Timer(3000);
greentimer.Elapsed += new System.Timers.ElapsedEventHandler(greenTimer_Elapsed);
greentimer.Start();
redtimer = System.Timers.Timer(3000);
redtimer.Elapsed += new System.Timers.ElapsedEventHandler(redTimer_Elapsed);
redtimer.Start();
}
void redTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
button1.Invoke(new Action(() => button1.BackColor=Color.Green));
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
Errors:
Error 1 Invalid expression term ')' C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 41 WindowsApplication2
Error 2 Invalid expression term '>' C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 44 WindowsApplication2
Error 3 ) expected C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 46 WindowsApplication2
Error 4 ; expected C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 75 WindowsApplication2
Error 5 Invalid expression term ')' C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 75 WindowsApplication2
Error 6 ; expected C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 76 WindowsApplication2
Error 8 'System.Timers.Timer' is a 'type', which is not valid in the given context C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 19 40 WindowsApplication2
Error 9 The name 'greenTimer_Elapsed' does not exist in the current context C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 20 73 WindowsApplication2
Error 10 'System.Timers.Timer' is a 'type', which is not valid in the given context C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 23 38 WindowsApplication2
Error 11 'WindowsApplication1.Form1' is a 'type' but is used like a 'variable' C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 42 30 WindowsApplication2
|
|
|
|
|
Look at your error messages:
Error 1 Invalid expression term ')' C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs 30 41 WindowsApplication2
Error 1
This means it is an Error, not a Warning: compilation cannot continue. It is error number "1" or however many the compiler will find.
Invalid expression term ')'
This tells you what the compiler does not like: in this case it was not expecting a ")" here
C:\Documents and Settings\XPPRESP3\My Documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\Form1.cs
The file that has the error.
30
The line number in the file that the compiler is complaining about
41
The column of the line that the error was noticed in.
WindowsApplication2
The Project that the problem was found in.
Now, with all that, can you work out what you should do next?
Right: Find the line. It is line 30: Use CTRL+G to go to line 30.
button1.Invoke(new Action(() => button1.BackColor=Color.Green));
Look at column 41.
button1.Invoke(new Action(() => button1.BackColor=Color.Green));
^
|
What does the compiler expect there?
Some kind of expression, given that it is inside a "("...")" pair.
And so on. I am not going to sit here and explain in great detail every nuance of every compiler error: you have to do something yourself!
In this case, ditch the Invoke . Replace the line with:
button1.BackColor=Color.Green;
Then provide a matching handler routine for your greenTimer ...
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
Digital man: "You are, in short, an idiot with the IQ of an ant and the intellectual capacity of a hose pipe."
|
|
|
|
|
Apart from the answers give by others, when you originally asked this question (just a few hours ago), apart from the fact that you were given a solution, you stated that you wanted the colour change intervals to be random. So, rather than using a literal in the Timer constructor you should be looking to use the Random class to get different timings for each button. You might also change that to a new interval in the Elapsed event handlers.
BTW you don't seem to have a handler for the green timer in the code you posted.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
|
|
|
|
|
on top of all that, you're using the wrong kind of timer. You should use a Windows.Forms.Timer which ticks on the GUI thread.
This is what I would do:
- have a single timer ticking every second;
- have a single random generator;
- within the tick handler use the Random three times:
= once to decide whether you want to do something at that time (say 70% no);
= once to choose which button to change (say equal probability for each of the buttons);
= once to choose which new color to apply (say equal probability for each of a predefined list of colors).
PS: I would hate an app that does all that!
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Luc Pattyn wrote: PS: I would hate an app that does all that!
Don't say that. I'll have to go back and alter all of my code.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
|
|
|
|
|
user experience pevails on developer comfort.
zillions of users should not suffer from your mistakes and laziness.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
I have read the initial post and the replies of the thread. I would like to say, just as a piece of advise, if you are about to post here each and every compile error you get without even reading it in order to get your code working, you will need at least one month to develop the "Hello world" application. This compile error is telling you that "Program ... has more than one entry point defined". Just this[^] would have solved your problem.
|
|
|
|
|
I wrote a thread to capture the fingerprint image continuously from the biometric device but while stopping it will be getting very slow to stop it
|
|
|
|
|
You have asked the same question twice in the space of three minutes. Please delete one of them.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
|
|
|
|
|
Any boby help me to capture an finger print continuously from the biometric device. There is no function in sdk to capture the continuously
|
|
|
|
|
I find that very hard to believe. Otherwise the user has no way of determining if the print is centered in the device or not. There has to be some function in the SDK to do this.
|
|
|
|
|
Hi, I did a server/client program in c# and I couldn't get it started, 'cause when I click "run", this error pops up.
p.s: it's my first time I do server/client in c#/
Need help. Thanks.
|
|
|
|
|
Without further information it will be difficult for anyone to help you except in the most general terms.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
|
|
|
|
|
I don't know what info do you need.
I've opened two different form Application projects one is server the other is client.
When I hit "Run" in order to start server to listen, an error pops up as written in the title.
The reason must be that I don't know exactly how to make run the project correctly, in other words how to run correctly the server and after that the client.
P.S. I did it exactly like I use to do in Java (eclipse), but here it seems to be need to be done differently.
|
|
|
|
|
You say "When I hit run" but you do not say if this is the 'Run' button/Menu in VS or something on one of your Forms.
This error occurs when the Framework is unable to find an assembly referenced somewhere in your code. Sometimes due to an explicit call to Assembly.Load or LoadFrom , so do you make any calls like that. More often it is because it cannot find an assembly that is in your 'Usings' section, so are you using any third-party dlls (I say third-party because Framework dlls should be in the GAC and would be found.).
If it is a third-party dll that is causing the problem, this[^], may help.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
|
|
|
|
|
I mean the 'Run' button/Menu in VS.
I don't use any third-party dlls.
Here is a code of Program class - the server, please tell me what you think:
<pre lang="cs">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
static class Program
{
private static bool listening = false;
private static TcpListener myList;
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new ConnectionForm());
IPAddress ipAd = IPAddress.Parse("localhost");
myList = new TcpListener(ipAd, 8001);
listening = true;
}
catch (Exception e)
{
Console.WriteLine("Error..... " + e.StackTrace);
}
while (listening)
{
try
{
Console.WriteLine("The server is running at port 8001...");
Console.WriteLine("The local End point is :" +
myList.LocalEndpoint);
Console.WriteLine("Waiting for a connection.....");
Socket clientSocket = myList.AcceptSocket();
Console.WriteLine("Connection accepted from " + clientSocket.RemoteEndPoint);
new Client_sThresds(clientSocket);
myList.Start();
}
catch (Exception e)
{
Console.WriteLine("Error..... " + e.StackTrace);
myList.Stop();
}
}
}
}
modified on Saturday, February 12, 2011 3:06 PM
|
|
|
|
|
Before I get to your code, you should surround your code with
<pre lang="cs">
your code goes here
...................
</pre>
tags. This will preserve your indentation and uses some syntax colourization, all of which makes it easier to read.
Since your code does not seem to make any use of ConnectionForm and, in fact, places all output to the Console I would try making this a Console Application not a Windows Forms Application. This may not actually cure the problem but will reduce the size of the compiled application considerably, a good thing for a server application.
I can see nothing that is obviously wrong with with your code but you did not include the 'usings' section, which may be where the problem lies.
Most server apps like this have a very limited set of usings, something like:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
If you have more than these then you could also try using the right-click menu to Organize Usings|Remove Unused Usings.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
|
|
|
|
|
edited it in previous post usings included
|
|
|
|
|
OK, now I'm really confused.
Your usings do not include System.Net nor System.Net.Sockets and yet you use, according to your code
private static TcpListener myList;
/pre>
That is not possible.
Either the usings you posted are incorrect or you have edited your code, not pasted it directly.
<div class="signature">Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
"I want to report a fraud. The government is lying to us all."
I wouldn't let CG touch my Abacus!
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.</div>
|
|
|
|