|
Who I Send data from textbox to datagridview in a diferent form?
Plesea give me the code.
Thanks.
|
|
|
|
|
Can you explain little bit more what exactly you mean in "different form". Do you mean different format or different "FORM"? If you give more details somebody will be able to help you out.
|
|
|
|
|
you need a public propety or method in the from with the datagridview thagt will take textbox value
then you need a reference to the instance of the form, possibly a static instance somewhere
then you just do
StaticInstance.ProcessFunction(textbox1.Text);
If only MySelf.Visible was more than just a getter...
A person can produce over 5 times there own body weight in excrement each year... please re-read your questions before posting
|
|
|
|
|
When you want to send the data, raise a custom event.
In the other form subscribe to that event and react accordingly.
Don't be tempted (as previously suggested) to send forms or textboxes as parameters (to constructors or methods) or static properties to other forms. It's bad design. You will end up coupling forms too closely together which is non OOP and will lead to maintanence nightmares as your application grows.
Basic outline below:
using System;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Shown += new EventHandler(Form1_Shown);
}
void Form1_Shown(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.TextUpdated += new EventHandler<TextUpdatedEventArgs>(form2_TextUpdated);
form2.Show();
}
void form2_TextUpdated(object sender, TextUpdatedEventArgs e)
{
Console.WriteLine(e.Text);
}
}
using System;
using System.Windows.Forms;
public partial class Form2 : Form
{
public event EventHandler<TextUpdatedEventArgs> TextUpdated;
public Form2()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
OnTextUpdated(new TextUpdatedEventArgs(textBox1.Text));
}
protected virtual void OnTextUpdated(TextUpdatedEventArgs e)
{
EventHandler<TextUpdatedEventArgs> eh = TextUpdated;
if (eh != null)
eh(this, e);
}
}
using System;
public class TextUpdatedEventArgs : EventArgs
{
private string m_Text;
public TextUpdatedEventArgs(string text)
{
m_Text = text;
}
public string Text
{
get { return m_Text; }
}
}
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
|
|
|
|
|
You should try using delegates and events.
It will work great, and you can even catch the event on another form too.
|
|
|
|
|
Hi out there,
Has anybody an idea how i can do the following with c# and visual studio 2008:
I want to recognize when the user is right clicking a desktop icon.
If the right clicked desktop icon has a special feature (name or tag or something else)
i want to open my own custom context menu.
Is it possible to override the desktop context menu ?
Or is there something like an global "object clicked event"
thanx in advance
Peter
modified on Wednesday, February 11, 2009 10:07 AM
|
|
|
|
|
Yeah, totally. I remember using the Registry (regedit) to add a custom menu a while back but for the life of me I cannot remember how I did it. I'm going through my files looking for the snippet, if I find it I'll post it.
j.t.
|
|
|
|
|
Hi,
thanx for your rapid answer.
But i want to do this programmatically.
The context menu should be created dynamically depending on
the type of clicked icon.
ciao
Peter
|
|
|
|
|
There are several articles at codeproject that show how to make your own context menu items you need a simple search.
|
|
|
|
|
Hi,
Perhaps you did not understand what i want:
Yes i found ways to add items to the default desktop context menu !
I dont want to add items, i want to replace or override the desktop context menu in
special context.
For example:
If the right clicked desktop icon represents a directory i want to rise a custom
context menu with all the entries in this directory. The selected
context menu item should then be started.
Peter
|
|
|
|
|
Hi All,
I was wondering if it would at all be possible to create my own very small and simple programming language using C# Express Edition? And how one might go about doing so? I'd appreciate any help I can get on this. Thanks in advance
j.t.
j.t.
|
|
|
|
|
Basically you will need to learn assembly language i.e. how an executable is created
Then you would need to parse you language and produce your assembly code based on the parsed values
Quite a simple theory really :P
If only MySelf.Visible was more than just a getter...
A person can produce over 5 times there own body weight in excrement each year... please re-read your questions before posting
|
|
|
|
|
You could always take a look at developing a DLR language (Dynamic Language Runtime). Take a look here[^] for a marketing type overview, and here[^] for more detail.
|
|
|
|
|
What you will need to do is create a program that will take in source code and emit object code.
The source code will be written in your language; the object code be targeted at some machine. So it will either be machine code, aimed at a particular CPU, or byte code that runs on some virtual machine (e.g. the CLR in .Net or Java in a JVM).
Effectively this means you have to write a compiler (or interpreter) in C#. This is not a trivial task.
You might try looking at this book:
Compilers: Principles, Techniques, and Tools
Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
Addison-Wesley Pub Co
ISBN: 0201100886
Regards
David R
|
|
|
|
|
Or it could be an interpreted language and maybe not general-purpose.
|
|
|
|
|
Possible, yes. I've written a very simple interpreted scripting language for a very specific purpose; automating a telnet session.
Do you have a particular need? Or just a curiosity?
See also this[^] article.
|
|
|
|
|
Well, it's just out of plain curiosity and wanting to learn that's all.
foreach( inch on Jason )
{
Girlfriend.IsHappier();
}
|
|
|
|
|
I took a few minutes and made a programming language. Create a console application (named GuffaProgrammingLanguage of course), and put this in the Main method:
static void Main(string[] args) {
foreach (string line in File.ReadAllLines(args[0]+".gpl")) {
switch (line.Substring(0,Math.Min(line.Length,4))) {
case "out ": Console.WriteLine(line.Substring(4)); break;
case "time": Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); break;
case "end.": return;
default: Console.WriteLine("Syntax error."); return;
}
}
}
Create a text file in the bin folder named test.gpl with this content:
out Hello
out World!
time
end.
Open a console window and go to the bin folder, start the program with GuffaProgrammingLanguage test and you get an amazing result like this:
Hello
World!
2009-02-11 18:48:49
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
I have created 2 forms namely form1.cs and form2.cs....
I want to move from one form to another at the run time with a click of a button...The following code gives me an error...
Error 1 The type or namespace name 'Form2' could not be found (are you missing a using directive or an assembly reference?)
Is there any other method of doing it..
public class Form1:System.Windows.Forms.Form
{
public Form2 i;
}
private void button1_click(object sender,System.EventArgs e)
{
i=new Form2();
i.ShowDialog();
}
|
|
|
|
|
|
do you want to just display form 2 temporarily (as you have used .ShowDialog()) or do you want to completely switch forms (i.e. hide the first and show the second)?
If only MySelf.Visible was more than just a getter...
A person can produce over 5 times there own body weight in excrement each year... please re-read your questions before posting
|
|
|
|
|
I want to hide form1.cs and move to form2.cs
|
|
|
|
|
ok here is my suggestion for you to think about:
Create a static class that holds form instances i.e.
Form1 form1 = new Form1;
Form2 form2 = new Form2;
Form3 form3 = new Form3;
...
Create a private static function for hiding all the forms i.e.
private static void HideAll()
{
if(form1 != null && !form1.Disposed && form1.Visible)
form1.Hide();
...
}
Next create a public static function for displaying the desired form i.e.
public static void ShowForm(int formNum)
{
HideAll();
switch(formNum)
{
case 1:
form1.Show();
break;
...
}
}
Then whenever you handle a button click you can do...
StaticForm.ShowForm(1);
If only MySelf.Visible was more than just a getter...
A person can produce over 5 times there own body weight in excrement each year... please re-read your questions before posting
|
|
|
|
|
This is a message from the compiler telling you that it can't find the definition of Form2 in your code.
You probably just need to qualify the name so that the compiler can locate Form2.
If Form2 was not defined in the current namespace then you should either
qualify the declaration of i with the namespace where Form2 was defined.
e.g. public mynamespace.Form2 i;
or insert a using directive at the top of the file
e.g. using mynamespace;
Alan.
|
|
|
|
|
This is the code i used in form1.cs:
But still im not able to move to form2.cs
using WindowsApplication8;
public partial class Form1 : Form
{
WindowsApplication8.Form2 f2;
}
private void ll_linkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
f2 = new WindowsApplication8.Form2();
f2.Show();
}
|
|
|
|