|
Thank you Henry
"Can you describe in more detail the circumstances when you would want to do this?"
Good question !
I have three combobox column on single row (one and only one)
Those three combo are binded to three different tables
There is a logical relation berween those tables
If the user select a value in the third combo I want to show the related value in the first and second cell
So I'm trying to force the values of two cell but it doesn't work
I'm trying this
If I change the appellation Column
Pays must shows "France"
And Region must Show "Bordeaux"
But Pays remain empty !!
I thought it was because I also have to change the selected item of the combo ??
private void DgvKeys_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (noEvent)
{
return;
}
ComboBox combo = e.Control as ComboBox;
if (combo != null)
{
combo.DropDownStyle = ComboBoxStyle.DropDown;
combo.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
combo.AutoCompleteSource = AutoCompleteSource.ListItems;
combo.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
combo.SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
}
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
noEvent = true;
ComboBox combo = (ComboBox)sender;
if (combo.SelectedItem == null)
{
return;
}
DataRowView cRowV = (DataRowView)combo.SelectedItem;
DataRow cRow = cRowV.Row;
if (combo.DisplayMember == "Appellation")
{
DgvKeys.Rows[0].Cells["Pays"].Value = "France";
DgvKeys.Rows[0].Cells["Region"].Value = "Bordeaux";
curApel = cRow["Appellation"].ToString();
curApelID = Tools.GetInt(cRow["ApelID"]);
noEvent = false;
return;
}
}
|
|
|
|
|
Hello !
I've just finded out that a part of the problem seems to come because I've defined a Value Member to my ComboboxColumn
If I remove the assignation of the valuemember I can force the value of the cell without problem ???
|
|
|
|
|
Hello,
I am wondering if there is some functionality with the upper right exit button when it is pushed. I need to do a check to make sure that a button was pushed (save button) before they close the browser. I wasn't sure if there was some code I could run in the code behind to do this or not. Thanks!
John Michael
|
|
|
|
|
|
hi.i want copy database files.when i do detach database throw exeption.i search web and find things.but i cant drive result.
please help me.thanks.
string ConnStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\mydb.mdf"
+";Integrated Security=True;User Instance=True";
SqlConnection mycon = new SqlConnection(ConnStr);
SqlCommand mycom = new SqlCommand("sp_detach_db @d=db_name()", mycon);
mycon.Open();
mycom.ExecuteScalar();
mycon.Close();
|
|
|
|
|
Try these:
string ConnStr = @"Data Source=.\SQLEXPRESS;Database=Master;Integrated Security=True";
SqlConnection mycon = new SqlConnection(ConnStr);
SqlCommand mycom = new SqlCommand("sp_detach_db", mycon);
mycom.CommandType= CommandType .StoredProcedure ;
mycom.Parameters.Add(new SqlParameter("@dbname", SqlDbType.NVarChar,50));
mycom.Parameters["@dbname"].Value = "mydb";
mycon.Open();
mycom.ExecuteScalar();
mycon.Close();
|
|
|
|
|
What was not pointed out is that you cannot detach a database the your using. You have to execute the detach sp connected to the master db in SQL Server.
|
|
|
|
|
How can you add the usual AssemblyInfo data (version etc) to a Message Resource file?
I have a Message resource DLL - created via the method described in article "Using MC.exe, message resources and the NT event log in your own projects" (by Daniel Lohmann) How do I get version info into that DLL?
|
|
|
|
|
Assembly myAssembly = Assembly.GetExecutingAssembly();
AssemblyName myAssemblyName = myAssembly.GetName();
MessageBox.Show(myAssemblyName.Version.ToString());
This code sample is for current rrunning app. Just load external Assembly
|
|
|
|
|
I appreciate the response, however what I am looking for is how to get the version info *into* the DLL. The method I used to create the DLL did not embed any version info.
Method:
mc -u customdefs.mc
rc -r -fo customdefs.res customdefs.rc
link -dll -noentry -out:customdefs.mc.dll customdefs.res /MACHINE:X86
Is it possible to somehow compile an AssemblyInfo.cs file and link it into the DLL?
|
|
|
|
|
Sorry i missread it. I did check the article and i noticed it is in C++? Is your dll in C++? If so, you can't include or Link any C# files into native dll.
|
|
|
|
|
My DLL is a message resource file - the source was .mc file format (event log message text).
|
|
|
|
|
cturn wrote: My DLL is a message resource file - the source was .mc file format (event log message text).
are you saying this Message Resource file is stand alone?
Edit: http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/bca3b73f-5f17-407d-99fa-565aa6ba2442[^]
Here i saw comment about how to do it
This sample shows version info block
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x3L
#else
FILEFLAGS 0x2L
#endif
FILEOS 0x4L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "042404b0"
BEGIN
VALUE "FileDescription", "SimpleNotDo"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "SimpleDo"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", "SimpleDo"
VALUE "ProductName", "SimpleDo"
VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x424, 1200
END
END
|
|
|
|
|
Thanks - I'll give it a try!
|
|
|
|
|
Adding that version code to my .rc file then compiling and linking does put it into the DLL (I can see it with Notepad) but the DLL's Property page still has no Version tab. Looks like it may not be recognized as version info.
|
|
|
|
|
Hello!
How can i wirte this code into a switch an case?
switch(get)
if (get.Contains("rHerunterfahren"))<br />
{<br />
string[] get_Split = get.Split('~');<br />
int zeit = Convert.ToInt32(get_Split[1]);<br />
System.Diagnostics.Process.Start("shutdown", "-s -t " + zeit.ToString());<br />
}
|
|
|
|
|
You can't. Or rather, you can, but it'll make the code even more complicated. A switch case tests the switch statement and provides multiple paths of execution. Yours only has two - true and false.
Incidentally, if that's related to the code you last posted, your design is a little off. Sending commands in plain text over a stream isn't the best way to go about remote-controlling a computer.
Between the motion
And the act
Falls the Shadow
|
|
|
|
|
Okay thank you!
then i will make it with if!
|
|
|
|
|
If I may question your logic for a second ...
If get_Split is an array of strings why not
System.Diagnostics.Process.Start("shutdown", "-s -t " + get_Split[1]);
?
The parse to int and then converting to string seems a little silly in context.
|
|
|
|
|
|
How to store and retrieve ZIP files from oracle 10g. ZIP files consist of heavy satellite images.
Thanks in advance.....!!
|
|
|
|
|
You shoud better store them as blobs.Oracle blobs could store to 4 GB binary objects but you need to provide for storing and retrieving on your own.
Life is a stage and we are all actors!
|
|
|
|
|
I try to draw line with this code on a panel (I sent code only related to drawing). I can draw one line but if I want to draw multi line, there is an error like this: ArrgumentException was unhandled, Parameter is not valid.
Where is my fault?
private void panel1_Paint(object sender, PaintEventArgs e)
{
if (drawLine == true)
{
PictureBox PictureBox2 = new PictureBox();
int x1 = panel1.Width / 2;
int y1 = panel1.Height / 2;
PictureBox2.Location = new Point(x1, y1);
PictureBox2.Size = new System.Drawing.Size(50, 30);
PictureBox2.SizeMode = PictureBoxSizeMode.CenterImage;
panel1.Controls.Add(PictureBox2);
PictureBox2.Image = Image.FromFile(@"C:\warehouse.bmp");
for (int i = 0; i < MaxRows; i++)
{
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image = Image.FromFile(@"C:\retailer.bmp");
int x = coordinates[i, 0];
int y = coordinates[i, 1];
PictureBox1.Size = new System.Drawing.Size(25, 25);
PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
PictureBox1.Location = new Point(x1 + x, y1 - y);
panel1.Controls.Add(PictureBox1);
Graphics g = e.Graphics;
Pen myPen = new Pen(Color.Black, 1);
g.DrawLine(myPen, x1, y1, x1+x, y1-y);
myPen.Dispose();
g.Dispose();
}
}
}
private void button1_Click(object sender, EventArgs e)
{
TakeValues();
drawLine = true;
panel1.Invalidate();
}
|
|
|
|
|
There are several problems with the code that you have posted.
1) you should be aware that panel1_Paint happens every time that something happens to your form, which can be several times a second.
2) because of 1) you are creating two new PictureBoxes (PictureBox2 and PictureBox1) several times a second. This will make your code very, very slow if MaxRows is a large number. Since PictureBox2 is always in the same place, always the same size and always contains the same image why not create it once in the Form.Load() event handler, or better than that in the designer. If you are worried about it being in the correct place when your Form is resized, use the Anchor property.
The parameter not valid refers to the Graphics object(g). Delete the g.Dispose() entirely. YOU DIDN'T CREATE IT, THEREFORE YOU MUSTN'T DISPOSE IT.
You could also move the Pen myPen = new Pen(Color.Black, 1); outside the for loop, put it on the line above the for statement, and move the myPen.Dispose() call to after the closing brace of the for loop. No need to create it and then destroy it each time through the loop. Create it before the loop starts, then destroy it after the loop completes.
[Edit]
I have just realized that the problems with your code are worse than I noticed after my first brief reading of it.
this section of code, from inside the for loop:
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image = Image.FromFile(@"C:\retailer.bmp");
...........
...........
...........
...........
PictureBox1.Location = new Point(x1 + x, y1 - y);
panel1.Controls.Add(PictureBox1);
means that the first time your Form is painted (assuming that MaxRows is 10, just for discussiion), there will be 11 PictureBox es in panel1. The next time it is painted there will be 22 PictureBox es stacked 2 deep in the same locations, the next time 33 PictureBox es and so on. All stacked one on top of the other. You can mitigate this partly by turning off drawLine as the last statement of the:
if (drawLine == true)
{
PictureBox PictureBox2 = new PictureBox();
int x1 = panel1.Width / 2;
int y1 = panel1.Height / 2;
PictureBox2.Location = new Point(x1, y1);
PictureBox2.Size = new System.Drawing.Size(50, 30);
PictureBox2.SizeMode = PictureBoxSizeMode.CenterImage;
panel1.Controls.Add(PictureBox2);
PictureBox2.Image = Image.FromFile(@"C:\warehouse.bmp");
Pen myPen = new Pen(Color.Black, 1);
for (int i = 0; i < MaxRows; i++)
{
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image = Image.FromFile(@"C:\retailer.bmp");
int x = coordinates[i, 0];
int y = coordinates[i, 1];
PictureBox1.Size = new System.Drawing.Size(25, 25);
PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
PictureBox1.Location = new Point(x1 + x, y1 - y);
panel1.Controls.Add(PictureBox1);
Graphics g = e.Graphics;
g.DrawLine(myPen, x1, y1, x1+x, y1-y);
}
myPen.Dispose();
drawLine = false; <==================== NEW CODE
}
but that won't stop them multiplying each time the button is clicked. You would be far better drawing the images directly onto panel1 , as you do with the lines, unless there is a special reason for using a PictureBox .
[/Edit]
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.”
modified on Friday, August 21, 2009 3:45 PM
|
|
|
|
|
Thanks for your help. I started programing only one month ago. I have done many mistake like this. But I try to learn.
Thanks again.
I checked your code. Really I want to thanks you again. I will draw the images without using picturebox. However, My problem still go on. Yes, all lines is drawn after button click, but If I minimize the form and maximize again, all lines disappear. Do you have any idea about it? How can I solve this problem?
modified on Friday, August 21, 2009 4:42 PM
|
|
|
|