Poznámový blok – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Poznámový blok – .NET – Fórum – Programujte.comPoznámový blok – .NET – Fórum – Programujte.com

 

ORION2060
Newbie
24. 1. 2018   #1
-
0
-

Ahoj,

snažím se naprogramovat pomocí windows form v VS2018 poznámkový blok. Zasekl jsem se u funkce Find... Pokoušel jsem se něco najít na netu, ale marně. 

Vytvořil jsem si okno Find, jak klasicky v Notepadu:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Notepad
{
    public partial class Find : Form
    {
        public Find()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox2.TextLength>0)
            {
                btnFindNext.Enabled = true;
            }
            else
            {
                btnFindNext.Enabled = false;
            }
        }

        private void btnFindNext_Click(object sender, EventArgs e)
        {
            Textak.Form1.FindText = textBox2.Text;
            this.Close();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            Textak.Form1.FindText = "";
            this.Close();
        }
    }
}

A pak se jej snažím použit v hlavním programu:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Textak
{
    public partial class Form1 : Form
    {
        string path;
        public static string FindText;
.
.
.
.
.
       private void findToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (Notepad.Find r = new Notepad.Find())
            {
                r.ShowDialog();
                if (FindText != "")
                {
                    textBox1.Find(Findtext); //Zde mám problém, prostě nemohu použít 	
                                               .Find. VS mi to nenabídne. Dle mě to 
                                                není "Find.cs" z prvního kodu, ale 
                                                Find 
                                                jako funkce, kterou prostě ve VS 
                                                nemám. nechybí mi na začátku něco, 
                                                abych to mohlo používat?
                }
            }
            
        }
    }
}

Dále by mě zajímalo Undo/Redo. Proč všem (když koukám na YT) nabízí VS funkci redo, ale já jí tam prostě nemám.

private void redoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Redo(); // nefunguje textBox1.Undo(); funguje
            redoToolStripMenuItem.Enabled = false;
            undoToolStripMenuItem.Enabled = true;
        }

A poslední věc... Proč, když použiji using, musím psát "Notepad.Find" a nestačí použít pouze název souboru Find, tak jako to všem v tutoriálech jde. 

using (Notepad.Find r = new Notepad.Find()) // using(Find r = new Find())

Ještě teda přihodím chybovou hlášku (týká se prvních dvou kódů):

error CS0246: Typ nebo název oboru názvů Find se nenašel. (Nechybí direktiva using nebo odkaz na sestavení?)

Začínám s programováním, takže děkuji za případné rady a podněty. Pokud by někdo měl nějaký web s tutoriály a případně web podobný třeba cplusplus, budu rád. Díky.

Nahlásit jako SPAM
IP: 91.139.6.–
ORION2060
Newbie
24. 1. 2018   #2
-
0
-

vygooglil jsem přímo od MS toto:

https://msdn.microsoft.com/en-us/library/hfcsf75k(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

Dělám to prakticky stejně, ale prostě to Find nemám a nefunguje.

Připojen obrázek.

Nahlásit jako SPAM
IP: 91.139.6.–
Radek Chalupa
~ Redaktor
+1
Super člen
24. 1. 2018   #3
-
0
-

#2 ORION206
Podle toho obrázku je tam použitý RichTextBox, a z názvu textBox1 myslím že používáš TextBox, který metodu Find nemá, tak ho zkus nahradit ReichTextBox.

Radek Chalupa

www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
ORION2060
Newbie
24. 1. 2018   #4
-
0
-

#3 Radek Chalupa
Jej, tak to mě nenapadlo. Já si to přejmenoval a myslel jsem, že jsem použil richtextbox... Díky. :-)

Nahlásit jako SPAM
IP: 91.139.6.–
28. 1. 2018   #5
-
0
-

#3 Radek Chalupa
Jeto zajimavy jak to vipada lechce a pritom je komplex jak krava jinak kdyby neco mam tu slevy 

:http://promocodius.com/cz/

Nahlásit jako SPAM
IP: 2a02:c7d:3185:7e00:d9f:48...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Poznámkový blok — založil piwolukas

Problémový float blok v IE — založil Petroff

Try-Catch blok vysvětlení — založil Noobster

Blokujici vs neblokujici funkce chat — založil rodinne.baleni.ryze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý