c# - Using regex on a on-screen keyboard -



c# - Using regex on a on-screen keyboard -

ok i'm getting stuck here guys :/. i've got (custom!) onscreen keyboard wanna utilize regular expressions.

i created regex allow 0-9 , comma regular keyboard.

of course of study isn't working on-screen keyboard.

i have code snippet works...

but have space button, backspace button, , 2 buttons move caret around.

when utilize below regex code , click space, backspace or caret buttons error:

object reference not set instance of object.

what doing wrong?

// regex code private command keyb = null; private void editprodpriceex_gotfocus(object sender, routedeventargs e) { string allowedchars = "[^0-9,]"; if (regex.ismatch(editprodpriceex.text, allowedchars)) { keyb = (control)sender; } }

space button:

private void knopspatie_click(object sender, routedeventargs e) { textbox tb = keyb textbox; int selstart = tb.selectionstart; // here error string before = tb.text.substring(0, selstart); string after = tb.text.substring(before.length); tb.text = string.concat(before, " ", after); tb.selectionstart = before.length + 1; }

backspace button:

private void knopwissen_click(object sender, routedeventargs e) { textbox tb = keyb textbox; int cursorposition = tb.selectionstart; // here error if (cursorposition > 0) { tb.text = tb.text.substring(0, cursorposition -1) + tb.text.substring(cursorposition); tb.selectionstart = cursorposition - 1; } }

move caret left button:

private void knoplinks_click(object sender, routedeventargs e) { textbox tb = keyb textbox; if (tb.selectionstart > 0) // here error { int selstart = tb.selectionstart; string before = tb.text.substring(0, selstart); string after = tb.text.substring(before.length); tb.selectionstart = before.length - 1; } }

move caret right button:

private void knoprechts_click(object sender, routedeventargs e) { textbox tb = keyb textbox; if (tb.selectionstart >= 0) // here error { int selstart = tb.selectionstart; string before = tb.text.substring(0, selstart); string after = tb.text.substring(before.length); tb.selectionstart = before.length + 1; } }

i think must seek this. in first code.

// regex code private command keyb = null; private void editprodpriceex_gotfocus(object sender, routedeventargs e) { string allowedchars = "[^0-9,]"; if (regex.ismatch(editprodpriceex.text, allowedchars)) { keyb = (control)sender; } }

you made keyb null, , not set key mention (space , others), think produce reference not set error. can check that?.

c# .net regex

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -