|
sir i also know that it is already exists in windows 7....but i want to implement it myself..because it is a task of my project in undergraduate level...if you have any idea or code please help me..by the way i have already done voice command operating system and using voice i can open the MS word page.....
|
|
|
|
|
Use the Microsoft Speech SDK and Word interop.
|
|
|
|
|
|
Sir,
i think you can't understand my problem..using voice command i can open the MS word page.. now i want to write here using voice....i can do it as a letter for e.g a b c using command. but i want to write a word for e.g you, table etc... how can i do it...please help me.
|
|
|
|
|
This capability already exists in Word. No code required. It's been in Word since 2003, I think.
|
|
|
|
|
hi all,
i am trying to deserialize a xml string into an object but i am getting following error :
"An exception of type 'System.InvalidCastOperationException' occured in System.Xml.dll but was not handled in user code.
Additional information: There is an error in XML document(1,2)."
I am using following code to deserialize :
object obj = new object();
System.Xml.Serialization.XmlSerializer x = new XmlSerializer(obj.GetType());
StringReader sr = new StringReader(strNewXml);
XmlTextReader xml = new XmlTextReader(sr);
obj = (object)x.Deserialize(xml);
I tried to see the value of XmlTextReader xml, but it is showing as {None}.
I even tried with a string which i earlier serialized from an object but same error is displaying with it too.
Can anyone tell me where i am doing wrong.
Thanks and Regards,
Nagendra
|
|
|
|
|
I have solved the problem by modifying my code as below:
object objNewTransactionEntry = new object();
XmlRootAttribute xmlRoot = new XmlRootAttribute("Session");
System.Xml.Serialization.XmlSerializer y = new XmlSerializer(objNewTransactionEntry.GetType(), xmlRoot);
StringReader sReader = new StringReader(strNewXml);
XmlTextReader xmlReader = new XmlTextReader(sReader);
objNewTransactionEntry = (object)y.Deserialize(xmlReader);
|
|
|
|
|
I have attached the following code. I have a datagridview with three comboboxes on it. When I select an item from the first combobox it functions as intended. The problem I am having is that when I click on the second or third combobox it executes the item_SelectedIndexChanged event as shown below. I know I am missing something stupid! Any help is appreciated! Thanks!
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
int columnindex = dataGridView1.CurrentCell.ColumnIndex;
ComboBox combo;
if (dataGridView1.CurrentCell.ColumnIndex == 3)
{
combo = e.Control as ComboBox;
if (combo == null) return;
combo.SelectedIndexChanged -= item_SelectedIndexChanged;
combo.SelectedIndexChanged += item_SelectedIndexChanged;
}
}
void item_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cmbBox = (ComboBox)sender;
int x = Convert.ToInt32(cmbBox.SelectedIndex.ToString());
int y = dataGridView1.CurrentRow.Index;
dataGridView1.Rows[y].Cells[4].Value = dsInvoice.Parts.Rows[x]["DESC"].ToString();
dataGridView1.Rows[y].Cells[5].Value = Convert.ToDecimal(dsInvoice.Parts.Rows[x]["Price"].ToString());
}
|
|
|
|
|
kruegersck wrote: The problem I am having is that when I click on the second or third combobox it executes the item_SelectedIndexChanged event as shown below.
I'm not sure what you mean. Is the problem that it is supposed to execute that routine and does something you don't want, or that you want it to execute something else?
If you want it to do something else, we need to know what you are trying to do.
If you don't want it to execute that routine, then remove it from the events or use a different routine.CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
I have RichTextBox with the ScrollBars property set to Both. In a forms-based program, I would like to be able to programatically determine if a given scroll bar--vertical or horizontal--is visible (i.e., showing or not, depending on the RichTextBox contents.)
Thanks,
Tom
|
|
|
|
|
Hi,
AFAIK that will not be simple as there is no .NET support for it. I would suggest:
- getting the Handle;
- calling EnumChildWindows;
- somehow recognizing which of those are scroll bars (don't recall how right now);
- look at their visibility.
That will take a lot of P/Invoke stuff; these prototypes may help:
public delegate bool LP_EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
[DllImport("user32.dll", CallingConvention=CallingConvention.StdCall)]
public static extern int EnumChildWindows(IntPtr hParent,
LP_EnumWindowsProc ewp, IntPtr lParam);
[DllImport("user32.dll", CallingConvention=CallingConvention.StdCall)]
public static extern bool IsWindowVisible(IntPtr hWnd);
|
|
|
|
|
Hi,
There's an article on MSDN with VB code describing how this can be done by testing for the WS_HSCROLL and WS_VSCROLL bits in the window style retrieved with GetWindowLong.
How To Detect If Scroll Bars Are Visible on a Control[^] and it is applicable to .Net as the underlying control is the same. Here's an excerpt from a C# test programme.
[DllImport("user32.dll", SetLastError = true)]
static extern int GetWindowLong(IntPtr hWnd, int nIndex);
private const Int32 GWL_STYLE = -16;
private const Int32 WS_HSCROLL = 0x100000;
private const Int32 WS_VSCROLL = 0x200000;
private void TestForSB(RichTextBox rtb) {
Int32 style = GetWindowLong(rtb.Handle, GWL_STYLE);
Boolean hasVertical = (style & WS_VSCROLL) != 0;
Boolean hasHorizontal = (style & WS_HSCROLL) != 0;
label1.Text = String.Format("Vertical: {0}, Horizontal: {1}", hasVertical, hasHorizontal);
}
Alan.
|
|
|
|
|
Yes, that's much easier.
|
|
|
|
|
Hi
I've used from this link to define a new simple type and then save to disk with .dll extension via this code :
private void button1_Click(object sender, EventArgs e)
{
AssemblyName asmName = new AssemblyName();
asmName.Name = "HelloWorld";
AssemblyBuilder asmBuilder = Thread.GetDomain().DefineDynamicAssembly(asmName, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modBuilder = asmBuilder.DefineDynamicModule("HelloWorld");
TypeBuilder typeBuilder = modBuilder.DefineType("Hello", TypeAttributes.Public, typeof(object), new Type[] { typeof(IHello) });
MethodBuilder methodBuilder = typeBuilder.DefineMethod("SayHello", MethodAttributes.Private | MethodAttributes.Virtual, typeof(void), new Type[] { typeof(string) });
typeBuilder.DefineMethodOverride(methodBuilder, typeof(IHello).GetMethod("SayHello"));
ILGenerator il = methodBuilder.GetILGenerator();
il.Emit(OpCodes.Ldstr, "Hello, {0} World!");
il.Emit(OpCodes.Ldarg_1);
il.Emit(OpCodes.Call, typeof(string).GetMethod("Format", new Type[] { typeof(string), typeof(object) }));
il.Emit(OpCodes.Call, typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) }));
il.Emit(OpCodes.Ret);
Type type = typeBuilder.CreateType();
IHello hello = (IHello)Activator.CreateInstance(type);
hello.SayHello("Emit");
asmBuilder.Save(asmName.Name + ".dll");
}
it saved my dll on disk, but when i open it via Reflector, it does not have anything! just have a module named 'RefEmit_OnDiskManifestModule'
can anybody help me where is my problem and how to solve it ?
thanks in advance
|
|
|
|
|
Hi,
IMO the problem is with the DefineDynamicModule() , where you should use an overload and specify the DLL file there too.
|
|
|
|
|
I have a Treeview where I want to programmingly change index, but aparently that is a challenge that is more than I can do on my own.
My treeview looks like this
Node1(Groups)
+Child1
+Child2
+Child3
Node2(New node to insert)
Node3(Search Result)
Above is the wanted treeview layout.
I have manually added Node1 with child nodes, and Node3.
Now I wanted to add the node, as in this example called Node2, but how do i add this node, sort the Node rows and still make sure that Node1 stay in top and Node3 always is at the end?
Any taker on this idea?
I had initially thought to change treeview1.nodes["Node1"].index = 0 and treeview.nodes["Node3"].index = treeview1.lastindex, but that would not work, as index is read only.
|
|
|
|
|
Message Closed
modified 23-Nov-14 6:32am.
|
|
|
|
|
Ofcause! Thanks buddy.
Is there any way to move a node to a specific index? ie when I do a sort, I can't "lock" some nodes, so have to move them back to the index location again.
|
|
|
|
|
Create a temporary treeNode, set it to the one you want to move, remove it from the old location and insert it at the desired location.
OK heres a posible pseudo code/steps:
1) Create a temp TreeNodeCollection :
TreeNodeCollection tmp = (TreeNodeCollection)treeView1.Nodes["myNode"].Clone();
TreeNodeCollection tmp = (TreeNodeCollection)treeView1.Nodes[idx].Clone();
2) Remove the node from the old location
treeView1.Nodes.RemoveAt(idx);
3) Insert it at the desired location
treeView1.Nodes.Insert(desired_Idx, tmp[0]);
|
|
|
|
|
I have a bit of a dilemma - in the ComboBoxColumn, I have added various numbers from 0 to 11. I need people to be able to type into the ComboBoxes in that column if the Combobox doesn't contain a value they need.
So now How can i do that ?
|
|
|
|
|
|
I know that.
This property can be set for Combobox Not For DataGridViewComboboxColum
and my question is how to do this for DataGridViewComboboxColum
|
|
|
|
|
Hi Everyone
I am using Datagridview with a combobox column in my form. I am having a table in my database with a single column for "name".
On my form load event i want to get the names from the database and fill the combobox column with all the names.
I have declared the combobox like this:
ComboBox combobox; before
Public Form1(){InitializeComponent();}
Then I have added the following code in DataGridView1_EditingControlShowing event:
if (DataGridView1.CurrentCell.ColumnIndex == 1)
{
combobox = (ComboBox)e.Control;
Function1();
}
This is the code for Function1():
try
{
combobox.Items.Clear();
string q = "select * from Table1";
Con.Open();
DataSet ds = new DataSet();
NpgsqlDataAdapter da = new NpgsqlDataAdapter(q, Con);
da.Fill(ds, "Table");
for (int i = 0; i < (ds.Tables["Table"].Rows.Count); i++)
{
string name = ds.Tables["Table"].Rows[i]["name"].ToString();
combobox.Items.Add(name);
}
Con.Close();
}
catch
{}
When the form loads the data is coming in the combobox from the database nicely. But after I select any of the names and leave the combobox cell I got an DataError exception. So to handle that exception i just added the following event without any code:
private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{}
Since then no error is coming but after I select a value in the combobox and leave that cell, the selected value is not coming in that combobox. Its showing blank.
I have been trying to find a solution for a long time but i couldn't. So if anybody can help i will be very much thankful.
Thanking all
Arijit
|
|
|
|
|
Some event handlers, including DGV_DataError, are NOT meant to hide problems, but to offer an opportunity to do something about what happened. Have a look at DataGridViewDataErrorEventArgs, it has several properties that tell you more about the actual problem; then fix it.
What you did is analogous to having a try-catch with an empty catch block, which generally is bad as it hides problems, rather than solving them.
|
|
|
|
|
I kept the try-catch block so that if the database is empty it doesn't show an error. I forgot to put the message box while posting in the message board.
But I think the problem is not coming from the try-catch block as I have debugged using breakpoints. The DataError exception is coming when I am leaving the combobox cell. The DataGridViewDataErrorEventArgs is showing an error like this "DataGridViewComboboxCell values is not valid" and it keeps on coming till I stop debugging.
One thing that I am not sure is whether the problem is in the Function1() or I have not properly binded the combobox.
|
|
|
|