|
hello,
here i have a code fragment i want to execute with the Pocket PC Emulator or my real Pocket Pc Device:
using System;
using System.Runtime.InteropServices;
using System.Threading;
using System.IO;
namespace SmartDeviceApplication1
{
class Test
{
static AutoResetEvent evt;
static int count = 5;
static void Main(string[] args)
{
if (args.Length > 0)
{
try
{
count = int.Parse(args[0]);
}
catch (Exception e)
{
e.ToString();
}
}
evt = new AutoResetEvent(false);
Timer t = new Timer(new TimerCallback(TimerCallback), null, 0, 5000);
evt.WaitOne();
}
static void TimerCallback(object state)
{
Console.WriteLine("Enumerating windows at {0:t}...", DateTime.Now);
string title = new string('\0', 260);
int ret = GetWindowText(GetForegroundWindow(), title, 260);
if (ret != 0)
System.Console.WriteLine(title.Substring(0, ret));
}
[DllImport("user32.dll")]
static extern bool EnumWindows(EnumWindowsProc proc, IntPtr lParam);
delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
static extern int GetWindowText(IntPtr hWnd, [Out] string title,
int maxCount);
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
}
}
But when i want to deploy the foolowing error occurs:
A managed MissingMethodException
occured at
Test:TimerCallback+0x25
Test:TimerCallback+0x25
Timer:ring+0x59
Ok to terminate.
I do not know why this error occurs?? - Hopefully somebody is able to explain me what i do wrong?? I know that is something that a dll does not exist, but i do not know what exactly went wrong and how can i correct it??
thanks in advance.
pat
|
|
|
|
|
Hi,
I've got a user control that inherits from a parent control with a bitmap-filled label. I've got another user control that I want to go in front of it.
Since the base class InitializeComponent gets called first, the bitmap background label gets into the controls array first. Is there anyway to specify 'bring-to-front' on the second user control? I know in web you use z-order, but not sure how to do it here.
thanks,
Deanna
|
|
|
|
|
|
I get this problem on excel 2000 and works good with 2003. When I try to download a csv sent to a client browser, excel treats each line as a content of a single cell. For eg.
"18","000012345","Male" say this is the data in the csv file. When this is sent to the client browser the open/save dialog appears and if I choose to open, this information is put in one cell rather than being treated as separate cell information which Excel 2003 does. After this if I choose the File->save option to save this as a .csv file it appends a extra double quotes for each field and is distorted.
But if I save the file and then open everything seems to be right. Why is this happening? Is there a workaround for this issue?
|
|
|
|
|
Hi.
How do I compile a C# .net program via command line that uses Windows Forms?
I get an error message when I put "Using System.Windows.Forms". I know the code is correct as it is a simple example. I know I'm just missing something minor. How do I get it to find the forms library, or do I have to specify something else when compiling via command line?
|
|
|
|
|
Martin Marvinski wrote:
I get an error message when I put "Using System.Windows.Forms". I know the code is correct as it is a simple example.
No, if it is exactly as you typed it, it's wrong. C# is case-sensitive so it should be "using System.Windows.Forms;" Your example could be compiled with the following statement:
csc /target:winexe YourFile.cs
You can find more information for command line builds here[^] on MSDN.
- Nick Parker My Blog | My Articles
|
|
|
|
|
I have just encountered an interesting focus problem, which after doing some testing & searching I am at a loss to explain.
I have a COM object that under certain circumstance will show a form. This is a simple form with 2 buttons (ok, cancel) and a listview. By default the OK button has focus (through code by setting .Focus() , and through design by setting its tab order to 0).
The form is launched using [form object].ShowDialog()
When the form is displayed the button has focus because if I press return the code behind the button is executed (I am not using the AcceptButton property on the form) - the curious problem is how the button is rendered.
Normally if a button has focus a dotted line is drawn just inside the buttons bounds and the button shadow is enhanced. On the COM launched form the shadow is drawn but the inner line is not, but if I tab around to the button again it does have the dotted line.
If I add a Main() function to the form and launch it directly then the button is rendered correctly (with the shadow and the dotted line)
Does anybody have any ideas of what direction I should go to find a solution to this problem?
post.mode = postmodes.signature;
SELECT everything FROM everywhere WHERE something = something_else;
> 1 Row Returned
> 42
|
|
|
|
|
I need a button with a drop down arrow like the back button in internet explorer--preferably writen in C#. Where can I find one, or how could I make one? (I'm trying to avoid overriding the OnPaint function) Thanks.
|
|
|
|
|
|
I am somewhat young in C# but what has worked for me is to add a context menu to the button.
|
|
|
|
|
Hi,
I want make;
For instance I have a on web service function A(File myFile). I want to send
the file abc.xml to A function and want to read the content of abc.xml from
inside of A function with XmlTextReader(File). How can I do this?
Any help would be appriciated,
Kind Regards,
Arda
-
When in doubt, push a pawn!
-
|
|
|
|
|
I think you should pass the xml as a Stream (memoryStream), so you function should look like this
function_A(Stream myXMLData)
and call the XmlTextReader with the stream
XmlTextReader(myXMLData)
I hope you understand...
|
|
|
|
|
vladstanciu wrote:
I think you should pass the xml as a Stream (memoryStream), so you function should look like this
function_A(Stream myXMLData)
and call the XmlTextReader with the stream
XmlTextReader(myXMLData)
Not on a webservice. Just pass as a string.
top secret xacc-ide 0.0.1
|
|
|
|
|
Hi All,
I have DataGrid and Save button, problem is if i make changes on current record and press save button , datagrid is not update, but if i make changes and go to next record and then press save button my datagrid is updated ???
I find somewhere that I need to add in my code EndEdit, but because I’m beginner in C# ,I don’t know where and on what I need to include that part. Here is my code on save button:
<br />
private void btnSave_Click(object sender, System.EventArgs e)<br />
{<br />
try <br />
{<br />
DataSet changedData = dsVessCert.GetChanges();<br />
if (changedData != null)<br />
{<br />
int numRows = adVessCert.Update(changedData);<br />
MessageBox.Show("Database updated " + numRows + " rows successfuly", "Success");<br />
dsVessCert.AcceptChanges();<br />
}<br />
}<br />
catch (Exception ex)<br />
{<br />
MessageBox.Show("Error in Update: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);<br />
dsVessCert.RejectChanges();<br />
}<br />
}<br />
Thanks
|
|
|
|
|
You will need to call the EndCurrentEdit() method of the BindingManager of the datagrid (or something like that, its a bit sneaky to find).
top secret xacc-ide 0.0.1
|
|
|
|
|
set the EditItemIndex to -1 and Bind Data to DataGrid in the end of your btnSave_Click method.
Like- add these lines to your btnSave_Click method.
YourDataGrid.EditItemIndex = -1;
YourDataGrid.DataBind();
Hope it helps.
JAT
Hamilton, NJ
|
|
|
|
|
What you posted is for ASP.NET (there is no DataGrid.DataBind defined for System.Windows.Forms.DataGrid ). Things work much differently in Windows Forms in contrast to ASP.NET. The previous post (before yours) was correct.
Software Design Engineer
Developer Division Sustained Engineering, Microsoft
My Articles
|
|
|
|
|
Hello
I have a project that uses a login form and when the user clicks enter it opens another form called customers.
I have this code in the login form.
static void Main()
{
Application.Run(new frmlogin());
}
The problem is when l click enter on the login form to show the customers form. I want to close the login form using this.Close(); but when l do this it exits the entire project.
I have used this.Visible = false; But then l can't exit the entire project as the form is invisible.
I think want l really want to do is allow the user to login then close this form, as it is not needed anymore. When the user has finished with the application, they can click on the exit button on the customers form to exit the entire project.
Any easy way to do this.
Thanks in advance.
Steve
|
|
|
|
|
I think you're better off if you use this.Hide() on the login form (same as this.Visible = false). and when the Exit button is clicked or
private override void OnClosing(CancelEventArgs e);
raise and event in the customers form. Catch it in the login form and then use this.Close();
|
|
|
|
|
You're coming from VB6, right?
I'd say the correct way to do this would be something like:
static void Main()
{
FrmLogin login = new FrmLogin();
DialogResult res = login.ShowDialog();
if (res == DialogResult.OK)
{
Application.Run(new MainFormOfYourApp());
}
}
Regards,
mav
|
|
|
|
|
if i use this method in smartdevice application, my mainform might not be able to close..
|
|
|
|
|
I just tried it and found the main application form not appearing, although the app _was_ running...
But by using ShowDialog() on the new MainFrame instance instead of Application.Run() I could achieve the desired behaviour in a mobile application as well.
Regards,
mav
|
|
|
|
|
I'm trying to get DrawItem and MeasureItem working on a ListView, with a view to drawing items in LargeIcon view. I've managed to get DrawItem working okay, using the code below. My problem is with the MeasureItem event. The event is only ever called once, and most annoyingly, are never called when the view isn't the details view.
I've tinkered about with the owner-drawn listview projects on codeproject.com, and have discovered you need to handle ITEMPREPAINT for non-details view listviews. The problem with this is, MeasureItem isn't supported (or rather, I don't know how to handle it), and so you end up having to handle or Mouse events yourself.
This removes the point of the control being derived from ListView - to utilise all the functionality a listview has in.
I also tried creating ListViewItemCollections and ListViewItems myself, but gave up with that as I was getting nowhere.
Hopefully you've read to this stage and haven't dropped off. If anyone can suggest controls, websites, FAQs etc. that'd be appreciated.
Cheers
..................................................
The code:
public class MyListView : ListView
{
private struct MEASUREITEMSTRUCT
{
public int CtlType;
public int CtlID;
public int itemID;
public int itemWidth;
public int itemHeight;
public IntPtr itemData;
}
[StructLayout(LayoutKind.Sequential)]
private struct RECT
{
public int left;
public int top;
public int right;
public int bottom;
}
private struct DrawItemStruct
{
public int ctlType;
public int ctlID;
public int itemID;
public int itemAction;
public int itemState;
public IntPtr hWndItem;
public IntPtr hDC;
public RECT rcItem;
public IntPtr itemData;
}
private enum ReflectedMessages
{
OCM__BASE = (0x0400 + 0x1c00),
OCM_DRAWITEM = (OCM__BASE + 0x002B),
}
public event System.Windows.Forms.DrawItemEventHandler DrawItem;
public event MeasureItemEventHandler MeasureItem;
public const int LVS_OWNERDRAWFIXED = 0x0400;
private DrawMode drawMode;
public MyListView()
{
this.drawMode = DrawMode.Normal;
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style |= (drawMode != DrawMode.Normal) ? LVS_OWNERDRAWFIXED : 0;
return cp;
}
}
public virtual DrawMode DrawMode
{
get { return drawMode; }
set { drawMode = value; }
}
protected virtual void OnDrawItem(System.Windows.Forms.DrawItemEventArgs e)
{
}
public virtual void OnMeasureItem(MeasureItemEventArgs e)
{
}
protected override void WndProc(ref System.Windows.Forms.Message m)
{
base.WndProc(ref m);
switch (m.Msg)
{
case (int)ReflectedMessages.OCM_DRAWITEM:
{
DrawItemStruct dis =
(DrawItemStruct)m.GetLParam(typeof(DrawItemStruct));
Graphics graph = Graphics.FromHdc(dis.hDC);
Rectangle rect = new Rectangle(dis.rcItem.left,dis.rcItem.top,dis.rcItem.right - dis.rcItem.left,dis.rcItem.bottom - dis.rcItem.top);
int index = dis.itemID;
DrawItemState state = DrawItemState.None;
System.Windows.Forms.DrawItemEventArgs e = new System.Windows.Forms.DrawItemEventArgs(graph, Font, rect, index, state, ForeColor, BackColor);
if ( this.DrawItem != null )
{
this.DrawItem(this,e);
}
OnDrawItem(e);
graph.Dispose();
break;
}
case 8236:
this.WmReflectMeasureItem(ref m);
break;
}
}
private void WmReflectMeasureItem(ref Message m)
{
Graphics graphics1;
MeasureItemEventArgs args1;
MEASUREITEMSTRUCT measureitemstruct1 = (MEASUREITEMSTRUCT) m.GetLParam( typeof(MEASUREITEMSTRUCT) );
if ((this.drawMode == DrawMode.OwnerDrawVariable) && (measureitemstruct1.itemID >= 0))
{
graphics1 = Graphics.FromHwnd(this.Handle);
args1 = new MeasureItemEventArgs(graphics1, measureitemstruct1.itemID, 20);
try
{
if ( this.MeasureItem != null )
{
this.MeasureItem(this,args1);
}
this.OnMeasureItem(args1);
measureitemstruct1.itemHeight = args1.ItemHeight;
}
finally
{
graphics1.Dispose();
}
}
measureitemstruct1.itemHeight = 20;
Marshal.StructureToPtr(measureitemstruct1, m.LParam, false);
m.Result = ((IntPtr) 1);
}
}
|
|
|
|
|
Hi there:
I wanna add some facility to my app. & need to have next conntol name.
I met GetNextControl but I couldnt work with that.
I couldnt sauced useing ctl
Can anybody help me, Tnx in advance.
Always ,
Hovik Melkomian.
|
|
|
|
|