|
If your form is created when each client calls connect, and stays there while your client makes more calls, potentially you can have many open forms from different clients at the same time. Also if somehow you lose the form reference (because it is stored in session state and the session times out), you might end up with several forms for one client.
What I would do is write another program that creates a form and stays there listening for all client connections. You can use remoting in your webservice (it's simple), so if the listener program is running, it will display all debugging info, but otherwise the webservice just ignores the call. This way you can even use the listener app from a different computer than the server itself.
matmus wrote: Or is there a 'magic' IIS configuration, that allows interacting with host display?
Not that I know of. IIS runs as a Windows service, and services are designed to run unattended.
|
|
|
|
|
Hi,
The thing is that the DataGridView is Bound to a DataTable in a DataSet and
in the DataTable i can use the Select Method with params
But How Can I Reflect The Select in The DataGridView
The Select Method Returns DataRow [].
THANKS IN ADVANCE
Have Fun
Never forget it
|
|
|
|
|
Are you trying to filter records ?
kss
|
|
|
|
|
Yeh,
I Figured It Out
But THANKS for Responding
Have Fun
Never forget it
|
|
|
|
|
|
Is it homework?
What are you asking for exactly?
|
|
|
|
|
this is not a homework else i would not be posted here
i know the fourms rules and regulations
i want a form which has the uttons and when a user clicks on those buttons the events are triggered
|
|
|
|
|
Have a read of this thread.
|
|
|
|
|
I'm trying to capture the event where the user selects, say, Shift + 8 (hence * should be captured as a key).
The problem seems to be that the value for the '8' key ("D8") is retained whilst the value for the Shift keys ("LShiftKey" and "RShiftKey") are overwritten with the value "D8".
Would it be possible to use NativeMethods or System.Windows.Forms.Keys within this context?
E.g.
<pre>
if ((NativeMethods.GetKeyState(VK_SHIFT) & 0x8000) != 0)
{
//SHIFT is pressed
sb.AppendLine("Shift is pressed.");
}
</pre>
I'm currently assuming a UK keyboard.
Any more ideas on how to go about it please?
<pre>
private void keyPressed_KeyIntercepted(ref KeyboardHook.KeyboardHookEventArgs e)
{
keyAndModifier[0] = e.KeyName; // D8
if (keyAndModifier[0] == null) // null value
{
keyAndModifier[1] = e.KeyName; //somehow needs to be set to "LShiftKey" or "RShiftKey", so that the code works
}
else
{
// do nothing
}
switch (e.KeyName)
{ //...
case "D8":
{
if (keyAndModifier[1] == "LShiftKey" || keyAndModifier[1]== "RShiftKey")
//does NOT work because code never reads the Shift keys
{
btnMultiply.PerformClick();
break;
}
else
{
btnEight.PerformClick();
break;
}
}
//...
}
</pre>
Jon
|
|
|
|
|
Hi Jon,
what is all this? NativeMethods? KeyboardHookEventArgs?
there are many ways to figure out the state of the modifier keys in .NET Framework:
- keyboard events provide a KeyEventArgs argument, with properties
such as Control, Shift, and Alt
- Control class has a Control.ModifierKeys property that works everywhere.
Why do you care about "D8"? All the keys have a symbol defined for them, see Keys Enumeration.
BTW: seems like you created your message with some tool, then tried to paste it in here;
if so, first uncheck the "auto-encode..." checkbox, so it does not escape the HTML
commands; that way PRE tags will really work, code will be much more readable.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Do u have any sample code?
Jon
|
|
|
|
|
Sorry, I don't do sample code.
There is documentation with examples (Google!), there is tons of CP articles (use
the search box), and there are forums like this one to ask specific questions.
That is plenty.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Didn't find any working examples as yet to be honest.
With the code I'm currently using I can say, capture <8>, but I can't validate whether the user has selected <Shift> + <8> (Problem)
Code above uses source code provided within a Cp article. With the current implementation, the Shift keystrokes are captured, but I would like to validate them, i.e. something like this:
<PRE>
if (e.KeyName == Keys.Shift) { MessageBox.Show("Horray! Shift"); }
//does not work
</PRE>
Ref.
Low-level Windows API hooks from C# to stop unwanted keystrokes @
http://www.codeproject.com/KB/system/CSLLKeyboard.aspx
Any <i>pragmatic</i> ideas would help.
<PRE>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestApp02
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.KeyUp += new KeyEventHandler(keyPressed); //event handler
}
private void keyPressed(Object sender, KeyEventArgs e) //code does not pass through here
{
if (e.KeyValue == (int) Keys.ShiftKey) //messy - TO BE REPLACED
{ listBox2.Items.Add(e.KeyValue); }
listBox1.Items.Add(e.KeyValue);
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
}
}
}</PRE>
Jon
modified on Sunday, March 30, 2008 3:42 AM
<div class="ForumMod">modified on Sunday, March 30, 2008 4:03 AM</div>
|
|
|
|
|
Hi Jon,
jon_80 wrote: //does not work
that is no information. does it compile? does it generate a compile-time error?
if so, which one? does it generate a run-time error? if so, which one? does it
cause a computer melt-down? what?
I repeat: read the documentation
1. on KeyPressed event it says: The KeyPress event is not raised by noncharacter keys;
however, the noncharacter keys do raise the KeyDown and KeyUp events.
so why would you do your messy shift test in keyPressed()?
2. on KeyPressed event: there is a KeyPressEventArgs with a KeyChar property, which
holds the VALUE of the effective key or key combination
3. on KeyDown event it offers a KeyEventArgs which has a Shift property
4. on Control.ModifierKeys Property: Gets a value indicating which of the modifier keys
(SHIFT, CTRL, and ALT) is in a pressed state.
So the only real problem is you have to choose one of many good ways...
AND AGAIN: stop abusing the PRE tags; do you ever reread your post, and check it looks
the way you intended?
this probably was my last reply on this thread.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Luc Pattyn wrote: this probably was my last reply on this thread.
Bottom line. Shift happens.
|
|
|
|
|
Sh*fting my attention to more promising threads is bound to happen indeed.
Maybe I'll discover a nice haiku in Nantucket?
a real one, with 17 syllables (on for intimi) if at all possible.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Luc Pattyn wrote: Maybe I'll discover a nice haiku in Nantucket?
a real one, with 17 syllables (on for intimi) if at all possible.
Very nice.
|
|
|
|
|
Hello!
I am writing an application that works with a SQL Server DB, and what I need is
to send some info to the DB, and get a true / false answer from the DB.
I was working always with SQLDataAdapter, but I don't need a SELECT query,
but actually an answer (like return in c#).
How can I do it in C#, and what kind of query should it be?
Thanks in advance!
|
|
|
|
|
You can use SqlCommand object to execute any sql command you wish.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
But, can I get a return value from the DB using SqlCommand?
|
|
|
|
|
Yes, you can. You can use ExecuteScalar method or by using output parameters. What command are you trying to run?
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
I don't know yet, but I know that depending on some data in the db, it should return true or
false.
|
|
|
|
|
Then just use ExecuteScalar
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanks! I hope I will manage with returning the value in SQL.
Thanks again!
|
|
|
|
|
It's not so hard, but it depends on your query. Is it a regular query or a stored procedure? if it is a sotred procedure, do you use output parameters or a regular return value. Here is some sample code:
using(SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
string sql = "SELECT BitColumn FROM Table WHERE Name = 'Luis'";
SqlCommand cmd = new SqlCommand(sql, conn);
bool result = Convert.ToBoolean(cmd.ExecuteScalar());
cmd = new SqlCommand("sp_Test", conn);
cmd.Parameters.Add("@BoolVal", SqlDbType.Boolean).Direction = ParameterDirection.Output;
cmd.Parameters.Add("RetVal", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
int result1 = Convert.ToInt32(cmd.Parameters["RetVal"].Value);
bool result2 = Convert.ToBoolean(cmd.Parameters["@BoolVal"].Value);
} For the second example, you will need a stored procedure like this:
CREATE PROCEDURE sp_Test (@BoolVal bit OUT) AS
BEGIN
-- Return in output parameter
SELECT @BoolVal = BitColumn FROM Table WHERE NAME = 'Luis';
-- Return value of the stored procedure
IF @BoolVal IS NULL
RETURN 0
ELSE
RETURN 1
END When you execute a query, it returns a resultset (a table with data). A stored procedure that SELECTs something and doesn't get it into a variable is returning a resultset. ExecuteReader and data adapters get the whole resultset, but ExecuteScalar gets the data in the first column of the first row of the first table (useful for returning one value).
The stored procedure example calls ExecuteNonQuery because no resultset is returned. Output values are either an output parameter or the return value. You access both through the Commands collection of the SqlCommand object.
I hope this helps!
|
|
|
|