blokowanie edytowania

0

Elo

mam małe pytanko. Jak zablokować by po zapisaniu kodu do .exe w c++
nie można było edytować pola login

  InitializeComponent();
    Success = true;
    textBoxName.Text = "Login";
    textBoxPassword.Text = "hasło";

co gdzie i jak trzeba dodać? :D

0

Jaka biblioteka?

0

Nie wiem;/ po czym to można stwierdzić lub gdzie mogę to znaleźć żeby Ci powiedzieć ?

0

W czym piszesz? Visual, Dev, itd
Jaki typ projektu stworzyłeś?

0

To nie jest mój projekt. Jedyne co to chcę wprowadzić małą poprawkę.

0

Ale kod masz?
Na samym początku będzie coś w stylu

#include <iostream>

Zrób przeklejke to może coś wywróżymy

0

Panie, ale o czym pan do nas rozmawiasz w te słowa?

0

using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace xyz
{
public partial class LogForm : Form
{
public String Login { get; private set; }
public String Password { get; private set; }
private Boolean Success { get; set; }
public LogForm()
{
InitializeComponent();
Success = true;
textBoxName.Text = "Login";
textBoxPassword.Text = "hasło";
}
private void ButtonOKClick(object sender, EventArgs e)
{
Success = true;
Login = textBoxName.Text.Trim();
Password = textBoxPassword.Text.Trim();
if (String.IsNullOrEmpty(Login))
{
MessageBox.Show("Login nie może być pusty!");
Success = false;
}
if (String.IsNullOrEmpty(Password))
{
MessageBox.Show("Hasło nie może być puste!");
Success = false;
}
}
protected override void OnClosing(CancelEventArgs e)
{
if (!Success)
{
e.Cancel = true;
Success = true;
}
base.OnClosing(e);
}
}
}

i jeżeli zapisze to jako exe to mam okienko w którym pojawaia się "login" oraz "hasło" i można w tym oknie jeszcze zminiać te dane. Ja chce z poziomu kodu zapisać je i jeżeli bedzie już jako exe to żeby nie mozna było tego edytować. poprawki ktoś to? :) bo nie mam pojęcia jak to zrobić. Szukałem trochę na google ale nic ;/

0

(jakis textbox).ReadOnly=true;
I na przykład w kosntruktorze formy ustawić wartość początkową.
Jeżli textbox na ReadOnly uważasz za brzydki ( bo jest ) to możesz odpowiednio oprogramować zdarzenia na wprowadzenie danych i tam zrobić by się zawartość nie zmieniała.
Albo jakiś autoUnFocus stworzyć dla niego.

0

a możesz to zapisać tak jak powinno to wyglądać? byłem bardzo wdzięczny

0

Do LogForm doklej:

(from textbox in this.Controls.OfType<TextBox>()
                                    where textbox.Name == "textBoxName"
                                    select textbox).ToList().ForEach(t => t.ReadOnly = true);

// chciałem dodac coś z Reflection ale już mi się oczka kleją ;)

0
namespace xyz
{
    public partial class LogForm : Form
    {
        public String Login { get; private set; }
        public String Password { get; private set; }
        private Boolean Success { get; set; }
        public LogForm()
            (from textbox in this.Controls.OfType<TextBox>()
                                    where textbox.Name == "textBoxName"
                                    select textbox).ToList().ForEach(t => t.ReadOnly = true);
 
        {
            InitializeComponent();
            Success = true;
            textBoxName.Text = "Login";
            textBoxPassword.Text = "hasło";
        }
        private void ButtonOKClick(object sender, EventArgs e)
        {
            Success = true;
            Login = textBoxName.Text.Trim();
            Password = textBoxPassword.Text.Trim();
            if (String.IsNullOrEmpty(Login))
            {
                MessageBox.Show("Login nie może być pusty!");
                Success = false;
            }
            if (String.IsNullOrEmpty(Password))
            {
                MessageBox.Show("Hasło nie może być puste!");
                Success = false;
            }
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            if (!Success)
            {
                e.Cancel = true;
                Success = true;
            }
            base.OnClosing(e);
        }
    }
} 

coś takiego? ;p tylko ze nie działa

0

albo raczej źle dodałem to co pisałeś do kodu ;p

0
namespace xyz
{
    public partial class LogForm : Form
    {
        public String Login { get; private set; }
        public String Password { get; private set; }
        private Boolean Success { get; set; }
        public LogForm()
        {   // <- dobrooo ;)
            (from textbox in this.Controls.OfType<TextBox>()
                                    where textbox.Name == "textBoxName"
                                    select textbox).ToList().ForEach(t => t.ReadOnly = true);
 
        // { <- złooo!
            InitializeComponent();
            Success = true;
            textBoxName.Text = "Login";
            textBoxPassword.Text = "hasło";
        }
        private void ButtonOKClick(object sender, EventArgs e)
        {
            Success = true;
            Login = textBoxName.Text.Trim();
            Password = textBoxPassword.Text.Trim();
            if (String.IsNullOrEmpty(Login))
            {
                MessageBox.Show("Login nie może być pusty!");
                Success = false;
            }
            if (String.IsNullOrEmpty(Password))
            {
                MessageBox.Show("Hasło nie może być puste!");
                Success = false;
            }
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            if (!Success)
            {
                e.Cancel = true;
                Success = true;
            }
            base.OnClosing(e);
        }
    }
} 
0

Whops, nie przyuważyłem jeszcze jednego ;)

namespace xyz
{
    public partial class LogForm : Form
    {
        public String Login { get; private set; }
        public String Password { get; private set; }
        private Boolean Success { get; set; }
        public LogForm()
        {   // <- dobrooo ;)
            InitializeComponent();  // to musi być na samym początku ;)
            (from textbox in this.Controls.OfType<TextBox>()
                                    where textbox.Name == "textBoxName"
                                    select textbox).ToList().ForEach(t => t.ReadOnly = true);
 
        // { <- złooo!
             /// InitializeComponent();
            Success = true;
            textBoxName.Text = "Login";
            textBoxPassword.Text = "hasło";
        }
        private void ButtonOKClick(object sender, EventArgs e)
        {
            Success = true;
            Login = textBoxName.Text.Trim();
            Password = textBoxPassword.Text.Trim();
            if (String.IsNullOrEmpty(Login))
            {
                MessageBox.Show("Login nie może być pusty!");
                Success = false;
            }
            if (String.IsNullOrEmpty(Password))
            {
                MessageBox.Show("Hasło nie może być puste!");
                Success = false;
            }
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            if (!Success)
            {
                e.Cancel = true;
                Success = true;
            }
            base.OnClosing(e);
        }
    }
} 
0
using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace xyz
{
    public partial class LogForm : Form
    {
        public String Login { get; private set; }
        public String Password { get; private set; }
        private Boolean Success { get; set; }
        public LogForm()
        {   // <- dobrooo ;)
            InitializeComponent();  // to musi być na samym początku ;)
            (from textbox in this.Controls.OfType<TextBox>()
             where textbox.Name == "textBoxName"
             select textbox).ToList().ForEach(t => t.ReadOnly = true);

            // { <- złooo!
            /// InitializeComponent();
            Success = true;
            textBoxName.Text = "Login";
            textBoxPassword.Text = "hasło";
        }
        private void ButtonOKClick(object sender, EventArgs e)
        {
            Success = true;
            Login = textBoxName.Text.Trim();
            Password = textBoxPassword.Text.Trim();
            if (String.IsNullOrEmpty(Login))
            {
                MessageBox.Show("Login nie może być pusty!");
                Success = false;
            }
            if (String.IsNullOrEmpty(Password))
            {
                MessageBox.Show("Hasło nie może być puste!");
                Success = false;
            }
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            if (!Success)
            {
                e.Cancel = true;
                Success = true;
            }
            base.OnClosing(e);
        }
    }
}  

nie wiem czy coś źle znów zrobiłem ale wywala error

Error 1 'System.Windows.Forms.Control.ControlCollection' does not contain a definition for 'OfType' and no extension method 'OfType' accepting a first argument of type 'System.Windows.Forms.Control.ControlCollection' could be found (are you missing a using directive or an assembly reference?)

0

http://msdn.microsoft.com/en-us/library/bb360913.aspx
Dodaj poniżej innyc using

using System.Linq;
0
 using System;
using System.ComponentModel;
using System.Windows.Forms;

w którym inny ten using ?

0

Te zostaw, poniżej ich dopisz tamtą linijkę.

0

pomoże ktoś?

0

jest tu ktoś? :)

2

Nie wiesz nawet w jakim języku piszesz, kilkukrotnie danej rady nie wykorzystujesz i czekasz na gotowca. Wykazujesz większą odporność na wiedzę niż sehanine i oggr... To duże osiągnięcie.

using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Linq;

namespace WindowsFormsApplication1
{
    public partial class LogForm : Form
    {
        public String Login { get; private set; }
        public String Password { get; private set; }
        private Boolean Success { get; set; }

        public LogForm()
        {
            InitializeComponent();

            textBoxName.ReadOnly = true; // TAK!!!11 To blokuje możliwość edytowania!!11

            Success = true;
            textBoxName.Text = "Login";
            textBoxPassword.Text = "hasło";
        }
        private void ButtonOKClick(object sender, EventArgs e)
        {
            Success = true;
            Login = textBoxName.Text.Trim();
            Password = textBoxPassword.Text.Trim();
            if (String.IsNullOrEmpty(Login))
            {
                MessageBox.Show("Login nie może być pusty!");
                Success = false;
            }
            if (String.IsNullOrEmpty(Password))
            {
                MessageBox.Show("Hasło nie może być puste!");
                Success = false;
            }
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            if (!Success)
            {
                e.Cancel = true;
                Success = true;
            }
            base.OnClosing(e);
        }
    }
}
1

Ciekawe jak ty byś sobie poradził z czymś co może 2x na oczy widzisz. Ile tych linijek w takim kodzie byś dopisał sam?

Bądź nie bądź działa. Thx za pomoc....-.-

0

@msm: popsułes moją zabawkę :( akurat doklepywałem do mojego potforka gadżety z Reflection :/

0

jeszcze możesz dodać coś od siebie. xd

1 użytkowników online, w tym zalogowanych: 0, gości: 1